mirror of
https://github.com/nexus-stc/hyperboria
synced 2025-02-11 01:46:51 +01:00
- [nexus] Remove outdated protos - [nexus] Development - [nexus] Development - [nexus] Development - [nexus] Development - [nexus] Development - [nexus] Refactor views - [nexus] Update aiosumma - [nexus] Add tags - [nexus] Development - [nexus] Update repository - [nexus] Update repository - [nexus] Update dependencies - [nexus] Update dependencies - [nexus] Fixes for MetaAPI - [nexus] Support for new queries - [nexus] Adopt new versions of search - [nexus] Improving Nexus - [nexus] Various fixes - [nexus] Add profile - [nexus] Fixes for ingestion - [nexus] Refactorings and bugfixes - [idm] Add profile methods - [nexus] Fix stalled nexus-meta bugs - [nexus] Various bugfixes - [nexus] Restore IDM API functionality GitOrigin-RevId: a0842345a6dde5b321279ab5510a50c0def0e71a
20 lines
543 B
Python
20 lines
543 B
Python
import hashlib
|
|
from typing import Dict
|
|
|
|
from nexus.pylon.exceptions import IncorrectMD5Error
|
|
from nexus.pylon.validators.base import BaseValidator
|
|
|
|
|
|
class Md5Validator(BaseValidator):
|
|
def __init__(self, params: Dict):
|
|
self.md5 = params['md5']
|
|
self.v = hashlib.md5()
|
|
|
|
def update(self, chunk: bytes):
|
|
self.v.update(chunk)
|
|
|
|
def validate(self):
|
|
digest = self.v.hexdigest()
|
|
if self.md5.lower() != digest.lower():
|
|
raise IncorrectMD5Error(requested_md5=self.md5, downloaded_md5=digest)
|