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   
29 -class poreplace:
30
31 - def convertstring(self, postr):
32 """does the conversion required on the given string (nothing in this case)""" 33 return postr
34
35 - def convertfile(self, thepofile):
36 """goes through a po file and converts each element""" 37 for thepo in thepofile.units: 38 thepo.msgstr = [self.convertstring(postr) for postr in thepo.msgstr] 39 return thepofile
40
41 - def convertpo(self, inputfile, outputfile, templatefile):
42 """reads in inputfile using po, converts using poreplace, writes to outputfile""" 43 # note that templatefile is not used, but it is required by the converter... 44 inputstore = po.pofile(inputfile) 45 if inputstore.isempty(): 46 return 0 47 outputstore = self.convertfile(inputstore) 48 if outputstore.isempty(): 49 return 0 50 outputfile.write(str(outputstore)) 51 return 1
52 53
54 -def main(converterclass, argv=None):
55 # handle command line options 56 from translate.convert import convert 57 replacer = converterclass() 58 formats = {"po": ("po", replacer.convertpo), "pot": ("pot", replacer.convertpo)} 59 parser = convert.ConvertOptionParser(formats, usepots=True) 60 parser.run(argv)
61 62 63 if __name__ == '__main__': 64 main(poreplace) 65