On Saturday 09 May 2009 07:13:51 Kornel Benko wrote:
>
> Hi José
> I prefer an extra parameter like
>       src_files=<filename>
> to the perl script. If there is no such parameter, then proceed as before.
> So we don't have a need to change every tool which uses this python script.

Like the following patch (untested)?

>       Kornel

-- 
José Abílio
Index: lyx_pot.py
===================================================================
--- lyx_pot.py	(revision 29576)
+++ lyx_pot.py	(working copy)
@@ -189,7 +189,7 @@
                 string = string.replace('&amp;', '&').replace('&lt;', '<').replace('&gt;', '>')
                 string = string.replace('\\', '\\\\').replace('"', r'\"')
                 print >> output, '#: %s:%d\nmsgid "%s"\nmsgstr ""\n' % \
-                    (relativePath(src, base), lineno+1, string) 
+                    (relativePath(src, base), lineno+1, string)
         input.close()
     output.close()
 
@@ -324,13 +324,15 @@
 
 
 Usage = '''
-lyx_pot.py [-b|--base top_src_dir] [-o|--output output_file] [-h|--help] -t|--type input_type input_files
+lyx_pot.py [-b|--base top_src_dir] [-o|--output output_file] [-h|--help] [-s|src_file filename] -t|--type input_type input_files
 
-where 
+where
     --base:
         path to the top source directory. default to '.'
     --output:
         output pot file, default to './lyx.pot'
+    --src_file
+        filename that contains a list of input files in each line
     --input_type can be
         ui: lib/ui/*
         layouts: lib/layouts/*
@@ -345,8 +347,9 @@
     input_type = None
     output = 'lyx.pot'
     base = '.'
+    input_files = []
     #
-    optlist, args = getopt.getopt(sys.argv[1:], 'ht:o:b:',
+    optlist, args = getopt.getopt(sys.argv[1:], 'ht:o:b:s:',
         ['help', 'type=', 'output=', 'base='])
     for (opt, value) in optlist:
         if opt in ['-h', '--help']:
@@ -358,22 +361,28 @@
             base = value
         elif opt in ['-t', '--type']:
             input_type = value
+        elif opt in ['-s', '--src_file']:
+            input_files = [f.strip() for f in open(value)]
+
     if input_type not in ['ui', 'layouts', 'modules', 'qt4', 'languages', 'encodings', 'external', 'formats'] or output is None:
         print 'Wrong input type or output filename.'
         sys.exit(1)
+
+    input_files += args
+
     if input_type == 'ui':
-        ui_l10n(args, output, base)
+        ui_l10n(input_files, output, base)
     elif input_type == 'layouts':
-        layouts_l10n(args, output, base)
+        layouts_l10n(input_files, output, base)
     elif input_type == 'qt4':
-        qt4_l10n(args, output, base)
+        qt4_l10n(input_files, output, base)
     elif input_type == 'external':
-        external_l10n(args, output, base)
+        external_l10n(input_files, output, base)
     elif input_type == 'formats':
-        formats_l10n(args, output, base)
+        formats_l10n(input_files, output, base)
     elif input_type == 'encodings':
-        encodings_l10n(args, output, base)
+        encodings_l10n(input_files, output, base)
     else:
-        languages_l10n(args, output, base)
+        languages_l10n(input_files, output, base)
 
 

Reply via email to