From 094cc2d96bc864825aaee214a60679879d163e28 Mon Sep 17 00:00:00 2001 From: Andreas Oberritter Date: Tue, 18 Aug 2009 21:43:20 +0200 Subject: [PATCH] xml2po: allow parsing multiple files or directories at once --- po/xml2po.py | 43 +++++++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/po/xml2po.py b/po/xml2po.py index 8108cae..c517517 100755 --- a/po/xml2po.py +++ b/po/xml2po.py @@ -38,24 +38,27 @@ contentHandler = parseXML(attrlist) parser.setContentHandler(contentHandler) if not no_comments: parser.setProperty(property_lexical_handler, contentHandler) -dir = os.listdir(sys.argv[1]) -for x in dir: - if (str(x[-4:]) == ".xml"): - parser.parse(sys.argv[1] + str(x)) - -#parser.parse(sys.argv[1]) - -attrlist = list(attrlist) -attrlist.sort(key=lambda a: a[0]) - -for (k,c) in attrlist: - print - print '#: ' + sys.argv[1] - string.replace(k, "\\n", "\"\n\"") - if c: - for l in c.split('\n'): - print "#. ", l - if str(k) != "": - print 'msgid "' + str(k) + '"' - print 'msgstr ""' +for arg in sys.argv[1:]: + if os.path.isdir(arg): + for file in os.listdir(arg): + if (file.endswith(".xml")): + parser.parse(os.path.join(arg, file)) + else: + parser.parse(arg) + + attrlist = list(attrlist) + attrlist.sort(key=lambda a: a[0]) + + for (k,c) in attrlist: + print + print '#: ' + arg + string.replace(k, "\\n", "\"\n\"") + if c: + for l in c.split('\n'): + print "#. ", l + if str(k) != "": + print 'msgid "' + str(k) + '"' + print 'msgstr ""' + + attrlist = set() -- 2.7.4