Edouard@2463: #!/usr/bin/env python
Edouard@2463: # -*- coding: utf-8 -*-
Edouard@2463: 
Edouard@2463: # See COPYING file for copyrights details.
Edouard@2463: 
edouard@2492: from __future__ import absolute_import
andrej@2540: import hashlib
Edouard@2463: 
edouard@2492: 
Edouard@2463: class ConnectorBase(object):
Edouard@2463: 
Edouard@2465:     chuncksize = 1024*1024
edouard@2492: 
Edouard@2487:     def BlobFromFile(self, filepath, seed):
andrej@2540:         s = hashlib.new('md5')
Edouard@2487:         s.update(seed)
Edouard@2487:         blobID = self.SeedBlob(seed)
Edouard@2463:         with open(filepath, "rb") as f:
Edouard@2487:             while blobID == s.digest():
edouard@2492:                 chunk = f.read(self.chuncksize)
edouard@2492:                 if len(chunk) == 0:
edouard@2492:                     return blobID
Edouard@2463:                 blobID = self.AppendChunkToBlob(chunk, blobID)
Edouard@2463:                 s.update(chunk)
Edouard@2621:         raise IOError("Data corrupted during transfer or connection lost")