def checksum(self, _file, _type='SHA256', silent=False): if _type not in self.digest_types: if not silent: logger.w(_('Digest(%s) can only be %s') % (_type, ' '.join(self.digest_types))) return False file_digests = self.digest_map.get(_file) if file_digests is None: if not silent: logger.w(_('Can not find file digest information %s') % _file) return False digest = file_digests.get(_type) if digest is None: if not silent: logger.w(_('Can not find %s digest from file %s') % (_type, _file)) return False calc_digest = checksum.perform_checksum(_file, _type)[0] if digest != calc_digest: if not silent: logger.failed(_('Digest checksum failed')) logger.i(_('Origin digest:\t\t%s') % digest) logger.i(_('Calculate digest:\t%s') % calc_digest) return False if not silent: logger.success(_('Checksum valid: %s') % _file) return True
from easymgc import checksum fn = 'tmp/download/49e2bbda3312c7e7de9d240d3b7edfb92452ba065939f13f6a13b84873841b82-other.sqlite.bz2' print checksum.perform_checksum(fn, 'size') print checksum.sha256hash(fn) print checksum.perform_checksum(fn, 'SHA256') print checksum.perform_all(fn)