Package translate :: Package convert :: Module poreplace
[hide private]
[frames] | no frames]

Source Code for Module translate.convert.poreplace

 1  #!/usr/bin/env python 
 2  # -*- coding: utf-8 -*- 
 3  #  
 4  # Copyright 2004-2006 Zuza Software Foundation 
 5  #  
 6  # This file is part of translate. 
 7  # 
 8  # translate is free software; you can redistribute it and/or modify 
 9  # it under the terms of the GNU General Public License as published by 
10  # the Free Software Foundation; either version 2 of the License, or 
11  # (at your option) any later version. 
12  #  
13  # translate is distributed in the hope that it will be useful, 
14  # but WITHOUT ANY WARRANTY; without even the implied warranty of 
15  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
16  # GNU General Public License for more details. 
17  # 
18  # You should have received a copy of the GNU General Public License 
19  # along with translate; if not, write to the Free Software 
20  # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
21   
22  """simple script to do replacements on translated strings inside po files""" 
23   
24  # this is used as the basis for other scripts, it currently replaces nothing 
25   
26  from translate.storage import po 
27   
28 -class poreplace:
29 - def convertstring(self, postr):
30 """does the conversion required on the given string (nothing in this case)""" 31 return postr
32
33 - def convertfile(self, thepofile):
34 """goes through a po file and converts each element""" 35 for thepo in thepofile.units: 36 thepo.msgstr = [self.convertstring(postr) for postr in thepo.msgstr] 37 return thepofile
38
39 - def convertpo(self, inputfile, outputfile, templatefile):
40 """reads in inputfile using po, converts using poreplace, writes to outputfile""" 41 # note that templatefile is not used, but it is required by the converter... 42 inputstore = po.pofile(inputfile) 43 if inputstore.isempty(): 44 return 0 45 outputstore = self.convertfile(inputstore) 46 if outputstore.isempty(): 47 return 0 48 outputfile.write(str(outputstore)) 49 return 1
50
51 -def main(converterclass, argv=None):
52 # handle command line options 53 from translate.convert import convert 54 replacer = converterclass() 55 formats = {"po":("po", replacer.convertpo), "pot":("pot", replacer.convertpo)} 56 parser = convert.ConvertOptionParser(formats, usepots=True) 57 parser.run(argv)
58 59 if __name__ == '__main__': 60 main(poreplace) 61