1   
 2   
 3   
 4   
 5   
 6  """defines interface for repository of generated files hash""" 
 7   
 8  import os 
 9  try: 
10      from hashlib import md5 
11  except: 
12      from md5 import new as md5 
13   
14   
16      m = md5() 
17      m.update( text ) 
18      return m.hexdigest()  
 19   
21      if not os.path.exists( fpath ): 
22          return None  
23      f = file( fpath, 'rb' ) 
24      fcontent = f.read() 
25      f.close() 
26      return get_md5_text_value( fcontent ) 
 27   
31           
33          return NotImplementedError( self.__class__.__name__ ) 
 34   
35 -    def get_text_value( self, fpath ): 
 36          return NotImplementedError( self.__class__.__name__ ) 
 37   
39          return NotImplementedError( self.__class__.__name__ ) 
 40           
42          return NotImplementedError( self.__class__.__name__ ) 
  43   
59   
61      separator = ' ' 
62      hexdigest_len = 32 
63      hexdigest_separator_len = 33 
64       
78   
80          try: 
81              return self.__repository[ fpath ] 
82          except KeyError: 
83              return None 
 84       
85 -    def get_text_value( self, text ): 
 87   
89          self.__repository[ fpath ] = hash_value 
 90           
92          lines = [] 
93          for fpath, hexdigest in self.__repository.iteritems(): 
94              lines.append( '%s%s%s%s' % ( hexdigest, self.separator, fpath, os.linesep ) )         
95          f = file( self.__repository_file, 'w+' ) 
96          f.writelines( lines ) 
97          f.close() 
  98