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
This commit is contained in:
Kornel Benko 2011-05-24 18:36:27 +00:00
parent a7d8f6b4bf
commit 902c932674
6 changed files with 64 additions and 12 deletions

View 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)

View 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}")

View File

@ -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]

View File

@ -1192,7 +1192,7 @@ status collapsed
status collapsed
\begin_layout Plain Layout
LYX_USERDIR_20x
LYX_USERDIR_VER
\end_layout
\end_inset

View 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

View File

@ -1267,7 +1267,7 @@ status collapsed
status collapsed
\begin_layout Plain Layout
LYX_USERDIR_20x
LYX_USERDIR_VER
\end_layout
\end_inset