1   
 2   
 3   
 4   
 5   
 6   
 7   
 8   
 9   
10   
11   
12   
13   
14   
15   
16   
17   
18   
19   
20   
21   
22  from translate.storage import base 
23  from translate.storage import poheader 
24   
25 -class pounit(base.TranslationUnit): 
 26   
27 -    def adderror(self, errorname, errortext): 
 28          """Adds an error message to this unit.""" 
29          text = u'(pofilter) %s: %s' % (errorname, errortext) 
30           
31          if text not in self.getnotes(origin='translator'): 
32              self.addnote(text, origin="translator") 
 33   
35          """Get all error messages.""" 
36          notes = self.getnotes(origin="translator").split('\n') 
37          errordict = {} 
38          for note in notes: 
39              if '(pofilter) ' in note: 
40                  error = note.replace('(pofilter) ', '') 
41                  errorname, errortext = error.split(': ') 
42                  errordict[errorname] = errortext 
43          return errordict 
 44   
46          """Marks the unit to indicate whether it needs review. Adds an optional explanation as a note.""" 
47          if needsreview: 
48              reviewnote = "(review)" 
49              if explanation: 
50                  reviewnote += " " + explanation 
51              self.addnote(reviewnote, origin="translator") 
52          else: 
53               
54              notestring = self.getnotes(origin="translator") 
55              notes = notestring.split('\n') 
56              newnotes = [] 
57              for note in notes: 
58                  if not '(review)' in note: 
59                      newnotes.append(note) 
60              newnotes = '\n'.join(newnotes) 
61              self.removenotes() 
62              self.addnote(newnotes, origin="translator") 
  63   
64 -class pofile(base.TranslationStore, poheader.poheader): 
 65   
67          """create a header for the given filename. arguments are specially handled, kwargs added as key: value 
68          pot_creation_date can be None (current date) or a value (datetime or string) 
69          po_revision_date can be None (form), False (=pot_creation_date), True (=now), or a value (datetime or string)""" 
70   
71          headerpo = self.UnitClass(encoding=self._encoding) 
72          headerpo.markfuzzy() 
73          headerpo.source = "" 
74          headeritems = self.makeheaderdict(**kwargs) 
75          headervalue = "" 
76          for (key, value) in headeritems.items(): 
77              headervalue += "%s: %s\n" % (key, value) 
78          headerpo.target = headervalue 
79          return headerpo 
  80