735d91d645
I think PEP 0263 (http://legacy.python.org/dev/peps/pep-0263/) is not used anywhere else and so it should be removed. Change-Id: If70cef31a15680a08c3dc894b2f6615787c8f79a
92 lines
2.4 KiB
Python
Executable File
92 lines
2.4 KiB
Python
Executable File
#!/usr/bin/env python
|
|
'''
|
|
Created on 2012-7-3
|
|
|
|
@author: daisy
|
|
'''
|
|
import os, sys
|
|
from xml2po import Main
|
|
from xml2po.modes.docbook import docbookXmlMode
|
|
|
|
class myDocbookXmlMode(docbookXmlMode):
|
|
def __init__(self):
|
|
self.lists = ['itemizedlist', 'orderedlist', 'variablelist',
|
|
'segmentedlist', 'simplelist', 'calloutlist', 'varlistentry', 'userinput',
|
|
'computeroutput','prompt','command','screen']
|
|
self.objects = [ 'figure', 'textobject', 'imageobject', 'mediaobject',
|
|
'screenshot','literallayout', 'programlisting' ]
|
|
|
|
default_mode = 'docbook'
|
|
operation = 'pot'
|
|
options = {
|
|
'mark_untranslated' : False,
|
|
'expand_entities' : True,
|
|
'expand_all_entities' : False,
|
|
}
|
|
|
|
ignore_folder = {"docbkx-example", "training-guide"}
|
|
ignore_file = {"api-examples.xml"}
|
|
|
|
root = "./doc"
|
|
|
|
def generatePoT (folder):
|
|
if (folder==None) :
|
|
path = root
|
|
else :
|
|
generateSinglePoT(folder)
|
|
return
|
|
|
|
if (not os.path.isdir(path)) :
|
|
return
|
|
|
|
files = os.listdir(path)
|
|
for aFile in files :
|
|
if (not (aFile in ignore_folder)):
|
|
generateSinglePoT (aFile)
|
|
|
|
def generateSinglePoT(folder):
|
|
xmlfiles = []
|
|
abspath = os.path.join(root, folder)
|
|
if (os.path.isdir(abspath)) :
|
|
os.path.walk(abspath, get_all_xml, xmlfiles)
|
|
else:
|
|
return
|
|
|
|
if len(xmlfiles)>0 :
|
|
output = os.path.join(abspath,"locale")
|
|
if (not os.path.exists(output)) :
|
|
os.mkdir(output)
|
|
output = os.path.join(output, folder+".pot")
|
|
try:
|
|
xml2po_main = Main(default_mode, operation, output, options)
|
|
xml2po_main.current_mode = myDocbookXmlMode()
|
|
except IOError:
|
|
print "Error: cannot open aFile %s for writing." % (output)
|
|
sys.exit(5)
|
|
#print(xmlfiles)
|
|
#print(">>>outout: %s ", output)
|
|
xml2po_main.to_pot(xmlfiles)
|
|
|
|
def get_all_xml (sms, dr, flst):
|
|
if ((flst == "target") or (flst == "wadls")) :
|
|
return
|
|
if (dr.find("target")>-1) :
|
|
return
|
|
if (dr.find("wadls")>-1) :
|
|
return
|
|
|
|
for f in flst:
|
|
if (f.endswith(".xml") and (f != "pom.xml") and (not (f in ignore_file))) :
|
|
sms.append(os.path.join(dr,f))
|
|
|
|
def main():
|
|
try:
|
|
folder = sys.argv[1]
|
|
except:
|
|
folder = None
|
|
generatePoT(folder)
|
|
|
|
if __name__ == '__main__':
|
|
main()
|
|
|