Exemple #1
0
 def md5(self, filename):
     compressed_blocks = None
     compress = Compress(self.source_filename)
     if compress.get_format():
         compressed_blocks = self.__block_list(
             os.path.getsize(self.source_filename)
         )
         compress.uncompress(temporary=True)
         blocks = self.__block_list(
             os.path.getsize(compress.uncompressed_filename)
         )
     else:
         blocks = self.__block_list(
             os.path.getsize(self.source_filename)
         )
     with open(self.source_filename) as source:
         checksum = hashlib.md5(source.read()).hexdigest()
     with open(filename, 'w') as md5:
         if compressed_blocks:
             md5.write(
                 '%s %s %s %s %s\n' % (
                     checksum, blocks.blocks, blocks.blocksize,
                     compressed_blocks.blocks, compressed_blocks.blocksize
                 )
             )
         else:
             md5.write(
                 '%s %s %s\n' % (
                     checksum, blocks.blocks, blocks.blocksize
                 )
             )