]> git.lyx.org Git - features.git/commitdiff
Backport r38791, Replace a perl-script with the python version
authorKornel Benko <kornel@lyx.org>
Tue, 24 May 2011 18:36:27 +0000 (18:36 +0000)
committerKornel Benko <kornel@lyx.org>
Tue, 24 May 2011 18:36:27 +0000 (18:36 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_2_0_X@38832 a592a061-630c-0410-9148-cb99ea01b6c8

development/cmake/CMakeLists.txt
development/cmake/doc/CMakeLists.txt
development/cmake/doc/ReplaceValues.py [new file with mode: 0755]
lib/doc/es/Customization.lyx
lib/doc/fr/Customization.lyx
lib/doc/ja/Customization.lyx

index 790c5d81be44578f3f525e49f22500aa8746bf32..6034711955181f1cf1ab10521018eef6eedd9cc1 100644 (file)
@@ -13,7 +13,8 @@ if(COMMAND cmake_policy)
        cmake_policy(SET CMP0005 OLD)
 endif()
 
-set(LYX_PROJECT lyx)
+#needed to distinguish fron trunk, so we can install both simultaneously
+set(LYX_PROJECT lyx20)
 project(${LYX_PROJECT})
 
 set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true)
@@ -488,9 +489,8 @@ add_subdirectory(scripts)
 
 
 if(LYX_INSTALL)
-       FIND_PROGRAM(LYX_PERL_EXECUTABLE perl)
-       if(${LYX_PERL_EXECUTABLE} MATCHES "-NOTFOUND")
-               message(STATUS "Perl required to create doc!")
+       if(${LYX_PYTHON_EXECUTABLE} MATCHES "-NOTFOUND")
+               message(STATUS "Python required to create doc!")
        else()
                add_subdirectory(man)
                add_subdirectory(doc)
index 0fa78547687142d6ef2aac6efea8e52fa9af44de..6f40f383cf6378a1dee9cb1b38c89314b415468f 100644 (file)
@@ -7,9 +7,6 @@
 
 project(doc)
 
-#TODO: replace perl script with python, see scons:
-# http://www.lyx.org/trac/browser/lyx-devel/trunk/development/scons/scons_utils.py
-
 SET(_docs)
 file(GLOB_RECURSE _rel_lyx_docs RELATIVE "${TOP_SRC_DIR}/lib/doc" "${TOP_SRC_DIR}/lib/doc/*.lyx" "${TOP_SRC_DIR}/lib/doc/*.txt")
 
@@ -29,8 +26,8 @@ foreach(_rel_doc ${_rel_lyx_docs})
   SET_SOURCE_FILES_PROPERTIES(${_created_doc} GENERATED)
   add_custom_command(
     OUTPUT "${_created_doc}"
-    COMMAND perl "${CMAKE_SOURCE_DIR}/doc/ReplaceValues.pl" "LYX_USERDIR_VER=${LYX_USERDIR_VER}" "LYX_DIR_VER=${LYX_DIR_VER}" "${TOP_SRC_DIR}/lib/doc/${_rel_doc}" > "${_created_doc}"
-    DEPENDS "${TOP_SRC_DIR}/lib/doc/${_rel_doc}"
+    COMMAND ${LYX_PYTHON_EXECUTABLE} "${TOP_SRC_DIR}/development/cmake/doc/ReplaceValues.py" "LYX_USERDIR_VER=${LYX_USERDIR_VER}" "LYX_DIR_VER=${LYX_DIR_VER}" "${TOP_SRC_DIR}/lib/doc/${_rel_doc}" > "${_created_doc}"
+    DEPENDS "${TOP_SRC_DIR}/lib/doc/${_rel_doc}" "${TOP_SRC_DIR}/development/cmake/doc/ReplaceValues.py"
     )
   install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${_rel_doc}" DESTINATION "${LYX_DATA_SUBDIR}doc/${_rel_dir_part}")
   LIST(APPEND _docs "${_created_doc}")
diff --git a/development/cmake/doc/ReplaceValues.py b/development/cmake/doc/ReplaceValues.py
new file mode 100755 (executable)
index 0000000..a25972c
--- /dev/null
@@ -0,0 +1,55 @@
+#! /usr/bin/env python
+
+# file ReplaceValues.py
+#
+# This file is part of LyX, the document processor.
+# Licence details can be found in the file COPYING.
+#
+# author: Kornel Benko, kornel@lyx.org
+#
+# Syntax: ReplaceValues.py [<var1>=<Subst1> [<var2>=<Subst> ...]] <Inputfile> [<Inputfile> ...]
+
+import sys
+import re
+
+Subst = {}  # map of desired substitutions
+prog = re.compile("")
+
+def createProg():
+    matchingS = "\\b|\\b".join(Subst.keys())
+    pattern = "".join(["(.*)(\\b", matchingS, "\\b)(.*)"])
+    return re.compile(pattern)
+
+def SubstituteDataInLine(line):
+    result = line
+    m = prog.match(result)
+    if m:
+        return "".join([SubstituteDataInLine(m.group(1)),
+                        Subst[m.group(2)],
+                        SubstituteDataInLine(m.group(3))])
+    return line
+
+
+def SubstituteDataInFile(InFile):
+    for line in open(InFile):
+        print SubstituteDataInLine(line[:-1])
+
+##########################################
+
+
+args = sys.argv
+
+del args[0] # we don't need the name ot this script
+while len(args) > 0:
+    arg = args[0]
+    entry = args[0].split("=",1)
+    if len(entry) == 2:
+        key=entry[0]
+        val=entry[1]
+        if len(key) > 0:
+            Subst[key] = val
+    else:
+        prog = createProg()
+        SubstituteDataInFile(args[0])
+    del args[0]
+
index 4d1f5f971907beaf338d6e970f027b28c619d827..b45296a1595abb857315b2d0811795c2d568cdca 100644 (file)
@@ -1192,7 +1192,7 @@ status collapsed
 status collapsed
 
 \begin_layout Plain Layout
-LYX_USERDIR_20x
+LYX_USERDIR_VER
 \end_layout
 
 \end_inset
index aafeaf49a4dbe8fdfa35a3310e91217d2e77267a..9fee8bb1d899397dc16173458cc3b2e4c0b542a0 100644 (file)
@@ -1186,7 +1186,7 @@ MonNouveauRép
  Ces répertoires sont complètement indépendants (mais lisez la suite).
  Notez que positionner la variable d'environnement 
 \family typewriter
-LYX_USERDIR_16x
+LYX_USERDIR_VER
 \family default
  a exactement le même effet.
 \end_layout
index 80a9d3672ce6a88dfc963cfe4cb8a679e50b0386..90f8c271f9972a078e8c12fea3038ce4b4e3305e 100644 (file)
@@ -1267,7 +1267,7 @@ status collapsed
 status collapsed
 
 \begin_layout Plain Layout
-LYX_USERDIR_20x
+LYX_USERDIR_VER
 \end_layout
 
 \end_inset