the generation of the po files is broken!

Terms like "Austrian (new spelling)" or "Portuguese (Brazil)" are no
longer taken into account. Bo, could you please check what went wrong?

I was my fault when I tried to handle the armenian line of
lib/languages. It can be fixed by the attached patch which uses
regular expression to parse the lines. (Jose, OK to commit?)

Please CC me next time. I sometimes skip messages with uninteresting titles.

Cheers,
Bo
Index: po/lyx_pot.py
===================================================================
--- po/lyx_pot.py	(revision 18408)
+++ po/lyx_pot.py	(working copy)
@@ -120,22 +120,24 @@
     '''Generate pot file from lib/language'''
     output = open(output, 'w')
     # assuming only one language file
+    reg = re.compile('[\w-]+\s+[\w"]+\s+"([\w \-\(\)]+)"\s+(true|false)\s+[\w-]+\s+\w+\s+"[^"]*"')
     input = open(input_files[0])
     for lineno, line in enumerate(input.readlines()):
         if line[0] == '#':
             continue
-        items = line.split()
-        # empty lines?
-        if len(items) < 3:
-            continue
         # From:
         #   afrikaans   afrikaans	"Afrikaans"	false  iso8859-15 af_ZA	 ""
         # To:
         #   #: lib/languages:2
         #   msgid "Afrikaans"
         #   msgstr ""
-        # I do not care extra "s like "af_ZA"
-        print >> output, '#: %s:%d\nmsgid "%s"\nmsgstr ""\n' % (relativePath(input_files[0], base), lineno+1, items[2].strip('"'))
+        if reg.match(line):
+            print >> output, '#: %s:%d\nmsgid "%s"\nmsgstr ""\n' % \
+                (relativePath(input_files[0], base), lineno+1, reg.match(line).groups()[0])
+        else:
+            print "Error: Unable to handle line:"
+            print line
+            sys.exit(1)
     input.close()
     output.close()
 

Reply via email to