#
import sys, os, re, getopt
-
def relativePath(path, base):
'''return relative path from top source dir'''
# full pathname of path
path1 = os.path.normpath(os.path.realpath(path)).split(os.sep)
- path2 = os.path.normpath(base).split(os.sep)
+ path2 = os.path.normpath(os.path.realpath(base)).split(os.sep)
if path1[:len(path2)] != path2:
print "Path %s is not under top source directory" % path
- return os.path.join(*path1[len(path2):])
+ path3 = os.path.join(*path1[len(path2):]);
+ # replace all \ by / such that we get the same comments on Windows and *nix
+ path3 = path3.replace('\\', '/')
+ return path3
def ui_l10n(input_files, output, base):
for src in input_files:
input = open(src)
for lineno, line in enumerate(input.readlines()):
- # get lines that match <string>...</string>
if Submenu.match(line):
(string,) = Submenu.match(line).groups()
string = string.replace('_', ' ')
for src in input_files:
input = open(src)
for lineno, line in enumerate(input.readlines()):
- # get lines that match <string>...</string>
if Style.match(line):
(string,) = Style.match(line).groups()
string = string.replace('_', ' ')
input = open(src)
skipNextLine = False
for lineno, line in enumerate(input.readlines()):
- # looking for a line with <string></string>
+ # skip the line after <property name=shortcut>
if skipNextLine:
skipNextLine = False
continue
- # skip the line after <property name=shortcut>
if prop.match(line):
skipNextLine = True
continue
output.close()
-def processFiles(input_type, input_files, output, base):
- '''Process files according to input_type'''
- if input_type not in ['ui', 'layouts', 'qt4', 'languages'] or output is None:
- print 'Wrong input type or output filename.'
- sys.exit(1)
- if input_type == 'ui':
- ui_l10n(input_files, output, base)
- elif input_type == 'layouts':
- layouts_l10n(input_files, output, base)
- elif input_type == 'qt4':
- qt4_l10n(input_files, output, base)
- else:
- languages_l10n(input_files, output, base)
-
-
Usage = '''
lyx_pot.py [-b|--base top_src_dir] [-o|--output output_file] [-h|--help] -t|--type input_type input_files