X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=development%2Fscons%2Fscons_utils.py;h=bb924cafc86d2c5248871278c0a04b4c020301f6;hb=8cc88bf1ecbbe2f09d310403726f1145d49236cf;hp=3fe960ee6d0e86e7d8e4cf2741fbb1dc60eb9f6b;hpb=8ab80df229db5d6e786ae95f11d2f12456430140;p=lyx.git
diff --git a/development/scons/scons_utils.py b/development/scons/scons_utils.py
index 3fe960ee6d..bb924cafc8 100644
--- a/development/scons/scons_utils.py
+++ b/development/scons/scons_utils.py
@@ -113,93 +113,12 @@ def env_toc(target, source, env):
doc_toc.build_toc(str(target[0]), [file.abspath for file in source])
-def relativePath(env, path):
- '''return relative path from top source dir'''
- # full pathname of path
- path1 = os.path.normpath(env.File(path).abspath).split(os.sep)
- path2 = os.path.normpath(env.Dir('$TOP_SRCDIR').abspath).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):])
-
-
-def env_language_l10n(target, source, env):
- '''Generate pot file from lib/language'''
- input = open(env.File(source[0]).abspath)
+def env_cat(target, source, env):
+ '''Cat source > target. Avoid pipe to increase portability'''
output = open(env.File(target[0]).abspath, 'w')
- for lineno, line in enumerate(input.readlines()):
- if line[0] == '#':
- continue
- items = line.split('"')
- # empty lines?
- if len(items) != 5:
- print 'Warning: this line looks strange:'
- print line
- # From:
- # afrikaans afrikaans "Afrikaans" false iso8859-15 af_ZA ""
- # To:
- # #: lib/languages:2
- # msgid "Afrikaans"
- # msgstr ""
- print >> output, '#: %s:%d\nmsgid "%s"\nmsgstr ""\n' % (relativePath(env, source[0]), lineno+1, items[1])
- input.close()
- output.close()
-
-
-def env_qt4_l10n(target, source, env):
- '''Generate pot file from src/frontends/qt4/ui/*.ui'''
- output = open(env.File(target[0]).abspath, 'w')
- pat = re.compile(r'\s*(.*)')
- prop = re.compile(r'\s*
- if skipNextLine:
- skipNextLine = False
- continue
- # skip the line after
- if prop.match(line):
- skipNextLine = True
- continue
- # get lines that match ...
- if pat.match(line):
- (string,) = pat.match(line).groups()
- string = string.replace('&', '&').replace('<', '<').replace('>', '>').replace('"', r'\"')
- print >> output, '#: %s:%d\nmsgid "%s"\nmsgstr ""\n' % \
- (relativePath(env, src), lineno+1, string)
- input.close()
- output.close()
-
-
-def env_layouts_l10n(target, source, env):
- '''Generate pot file from lib/layouts/*.layout and *.inc'''
- output = open(env.File(target[0]).abspath, 'w')
- Style = re.compile(r'^Style\s+(.*)')
- # include ???LabelString???, but exclude comment lines
- LabelString = re.compile(r'^[^#]*LabelString\S*\s+(.*)')
- GuiName = re.compile(r'\s*GuiName\s+(.*)')
- ListName = re.compile(r'\s*ListName\s+(.*)')
for src in source:
input = open(env.File(src).abspath)
- for lineno, line in enumerate(input.readlines()):
- # get lines that match ...
- if Style.match(line):
- (string,) = Style.match(line).groups()
- string = string.replace('_', ' ')
- elif LabelString.match(line):
- (string,) = LabelString.match(line).groups()
- elif GuiName.match(line):
- (string,) = GuiName.match(line).groups()
- elif ListName.match(line):
- (string,) = ListName.match(line).groups()
- else:
- continue
- string = string.replace('\\', '\\\\').replace('"', '')
- if string != "":
- print >> output, '#: %s:%d\nmsgid "%s"\nmsgstr ""\n' % \
- (relativePath(env, src), lineno+1, string)
+ output.write(input.read())
input.close()
output.close()