From: Kornel Benko Date: Tue, 24 May 2011 18:36:27 +0000 (+0000) Subject: Backport r38791, Replace a perl-script with the python version X-Git-Tag: 2.0.1~291 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=902c932674f3a07928fa32bf332ea9dcb6a4d9d5;p=features.git Backport r38791, Replace a perl-script with the python version git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_2_0_X@38832 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/development/cmake/CMakeLists.txt b/development/cmake/CMakeLists.txt index 790c5d81be..6034711955 100644 --- a/development/cmake/CMakeLists.txt +++ b/development/cmake/CMakeLists.txt @@ -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) diff --git a/development/cmake/doc/CMakeLists.txt b/development/cmake/doc/CMakeLists.txt index 0fa7854768..6f40f383cf 100644 --- a/development/cmake/doc/CMakeLists.txt +++ b/development/cmake/doc/CMakeLists.txt @@ -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 index 0000000000..a25972c59d --- /dev/null +++ b/development/cmake/doc/ReplaceValues.py @@ -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 [= [= ...]] [ ...] + +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] + diff --git a/lib/doc/es/Customization.lyx b/lib/doc/es/Customization.lyx index 4d1f5f9719..b45296a159 100644 --- a/lib/doc/es/Customization.lyx +++ b/lib/doc/es/Customization.lyx @@ -1192,7 +1192,7 @@ status collapsed status collapsed \begin_layout Plain Layout -LYX_USERDIR_20x +LYX_USERDIR_VER \end_layout \end_inset diff --git a/lib/doc/fr/Customization.lyx b/lib/doc/fr/Customization.lyx index aafeaf49a4..9fee8bb1d8 100644 --- a/lib/doc/fr/Customization.lyx +++ b/lib/doc/fr/Customization.lyx @@ -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 diff --git a/lib/doc/ja/Customization.lyx b/lib/doc/ja/Customization.lyx index 80a9d3672c..90f8c271f9 100644 --- a/lib/doc/ja/Customization.lyx +++ b/lib/doc/ja/Customization.lyx @@ -1267,7 +1267,7 @@ status collapsed status collapsed \begin_layout Plain Layout -LYX_USERDIR_20x +LYX_USERDIR_VER \end_layout \end_inset