freezer.utils.checksum module¶
- class freezer.utils.checksum.CheckSum(path, hasher_type='sha256', blocksize=1048576, exclude='', ignorelinks=False)¶
 Bases:
objectChecksum a file or directory with sha256 or md5 algorithms.
This is used by backup and restore jobs to check for backup consistency.
- parameters::
 - param path
 the path to the file or directory to checksum
- type path
 string
- param hasher_type
 the hashing algorithm to use for checksum
- type hasher_type
 string
- param hasher
 hasher object for the specified hasher_type
- type hasher
 hashlib object
- param blocksize
 the max. size of block to read when hashing a file
- type blocksize
 integer
- param exclude
 pattern of files to exclude
- type exclude
 string
- param checksum
 final result for checksum computing
- type checksum
 string
- param real_checksum
 checksum without filename appended if unique file
- type real_checksum
 string
- param count
 number of files checksummed
- type count
 int
- compare(checksum)¶
 Compute the checksum for the object path and compare with the given checksum. :return: boolean
- compute()¶
 Compute the checksum for the given path. If a single file is provided, the result is its checksum concatenated with its name. If a directory is provided, the result is the checksum of the checksum concatenation for each file. :return: string
- get_files_hashes_in_path()¶
 Walk the files in path computing the checksum for each one and updates the concatenation checksum for the final result
- get_hash(filepath)¶
 Open filename and calculate its hash. Append the hash to the previous result and stores the checksum for this concatenation :param filepath: path to file :type filepath: string :return: string containing the hash of the given file
- hashes = []¶
 
- hashfile(afile)¶
 Checksum a single file with the chosen algorithm. The file is read in chunks of self.blocksize. :return: string
- hashstring(string)¶
 - Returns
 the hash for a given string
- set_hasher(hasher_type)¶
 Sets the hasher from hashlib according to the chosen hasher_type. Also sets the size of the expected output