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('&', '&').replace('<', '<').replace('>', '>') 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)