Edouard@2463: #!/usr/bin/env python Edouard@2463: # -*- coding: utf-8 -*- Edouard@2463: Edouard@2463: # See COPYING file for copyrights details. Edouard@2463: Edouard@2463: import md5 Edouard@2463: Edouard@2463: class ConnectorBase(object): Edouard@2463: Edouard@2463: chuncksize = 16384 Edouard@2463: def BlobFromFile(self, filepath): Edouard@2463: s = md5.new() Edouard@2463: blobID = s.digest() # empty md5, to support empty blob Edouard@2463: with open(filepath, "rb") as f: Edouard@2463: while True: Edouard@2463: chunk = f.read(self.chuncksize) Edouard@2463: if len(chunk) == 0: return blobID Edouard@2463: blobID = self.AppendChunkToBlob(chunk, blobID) Edouard@2463: s.update(chunk) Edouard@2463: if blobID != s.digest(): return None Edouard@2463: