# get appended to the names. So we use dist_scripts_DATA and chmod manually
# in install-data-hook.
dist_scripts_DATA = \
- scripts/TeXFiles.sh \
+ scripts/TeXFiles.py \
scripts/clean_dvi.py \
scripts/convertDefault.py \
scripts/fen2ascii.py \
--- /dev/null
+#!/usr/bin/env python
+# -*- coding: iso-8859-15 -*-
+
+# file TeXFiles.py
+# This file is part of LyX, the document processor.
+# Licence details can be found in the file COPYING.
+
+# \author Herbert Voß
+# \author Jean-Marc Lasgouttes
+# \author Jürgen Spitzmüller
+# \author Bo Peng
+
+# Full author contact details are available in file CREDITS.
+
+# all files -> without option
+# TeX class files -> option cls
+# TeX style files -> option sty
+# bibtex style files -> option bst
+# bibtex database files -> option bib
+#
+# with the help
+# of kpsewhich and creates a
+# bstFiles.lst, clsFiles.lst, styFiles.lst, bibFiles.lst
+# without any parameter all files are created.
+#
+# Herbert Voss <voss@perce.org>
+#
+# Updates from Jean-Marc Lasgouttes.
+#
+# bib support added by Juergen Spitzmueller (v0.3)
+#
+# translated to python by Bo Peng, so that the script only
+# relies on python and kpsewhich (no shell command is used).
+#
+
+import os, sys, re
+
+cls_stylefile = 'clsFiles.lst'
+sty_stylefile = 'styFiles.lst'
+bst_stylefile = 'bstFiles.lst'
+bib_files = 'bibFiles.lst'
+
+def cmdOutput(cmd):
+ '''utility function: run a command and get its output as a string
+ cmd: command to run
+ '''
+ fout = os.popen(cmd)
+ output = fout.read()
+ fout.close()
+ return output
+
+# processing command line options
+if len(sys.argv) > 1:
+ if sys.argv[1] in ['--help', '-help']:
+ print '''Usage: TeXFiles.py [-version | cls | sty | bst | bib ]
+ Default is without any Parameters,
+ so that all files will be created'''
+ sye.exit(0)
+ else:
+ types = sys.argv[1:]
+ for type in types:
+ if type not in ['cls', 'sty', 'bst', 'bib']:
+ print 'ERROR: unknown type', type
+ sys.exit(1)
+else:
+ # if no parameter is specified, assume all
+ types = ['cls', 'sty', 'bst', 'bib']
+
+#
+# MS-DOS and MS-Windows define $COMSPEC or $ComSpec and use `;' to separate
+# directories in path lists whereas Unix uses `:'. Make an exception for
+# Cygwin, where we could have either teTeX (using `:') or MikTeX (using `;').
+# Create a variable that holds the right character to be used by the scripts.
+path_sep = os.pathsep
+if sys.platform == 'cygwin':
+ # MikTeX's kpsewhich says "kpathsea emulation version x.x.x", whereas
+ # teTeX's simply "kpathsea version x.x.x".
+ if 'emulation' in cmdOutput('kpsewhich --version'):
+ path_sep = ';'
+ else:
+ path_sep = ':'
+
+# process each file type
+for type in types:
+ print "Indexing files of type", type
+ if type == 'cls':
+ outfile = cls_stylefile
+ kpsetype = '.tex'
+ elif type == 'sty':
+ outfile = sty_stylefile
+ kpsetype = '.tex'
+ elif type == 'bst':
+ outfile = bst_stylefile
+ kpsetype = '.bst'
+ elif type == 'bib':
+ outfile = bib_files
+ kpsetype = '.bib'
+
+ dirs = cmdOutput('kpsewhich --show-path=' + kpsetype).replace('!!', '').strip()
+ # remove excessive //
+ dirs = re.sub('//+', '/', dirs)
+
+ file_ext = '.' + type
+ out = open(outfile, 'w')
+ for dir in dirs.split(path_sep):
+ # for each valid directory
+ if os.path.isdir(dir):
+ # walk down the file hierarchy
+ for root,path,files in os.walk(dir):
+ # check file type
+ for file in files:
+ if len(file) > 4 and file[-4:] == file_ext:
+ # force the use of / since miktex uses / even under windows
+ print >> out, root.replace('\\', '/') + '/' + file
+ out.close()
+
+++ /dev/null
-#!/bin/sh
-
-# file TeXFiles.sh
-# This file is part of LyX, the document processor.
-# Licence details can be found in the file COPYING.
-
-# author Herbert Voß
-# author Jean-Marc Lasgouttes
-# author Jürgen Spitzmüller
-
-# Full author contact details are available in file CREDITS.
-
-# all files -> without option
-# TeX class files -> option cls
-# TeX style files -> option sty
-# bibtex style files -> option bst
-# bibtex database files -> option bib
-#
-# with the help
-# of kpsewhich and creates a
-# bstFiles.lst, clsFiles.lst, styFiles.lst, bibFiles.lst
-# without any parameter all files are created.
-#
-# Herbert Voss <voss@perce.org>
-#
-# Updates from Jean-Marc Lasgouttes.
-#
-# bib support added by Juergen Spitzmueller (v0.3)
-#
-CLS_STYLEFILE=clsFiles.lst
-STY_STYLEFILE=styFiles.lst
-BST_STYLEFILE=bstFiles.lst
-BIB_FILES=bibFiles.lst
-version='$Id: TeXFiles.sh,v 0.3 2003-02-14'
-progname=`echo $0 | sed 's%.*/%%'`
-usage="Usage: TeXFiles.sh [-version | cls | sty | bst | bib ]
- Default is without any Parameters,
- so that all files will be created"
-
-types=$1
-test -z "$types" && types="cls sty bst bib"
-
-#
-# MS-DOS and MS-Windows define $COMSPEC or $ComSpec and use `;' to separate
-# directories in path lists whereas Unix uses `:'. Make an exception for
-# Cygwin, where we could have either teTeX (using `:') or MikTeX (using `;').
-# Create a variable that holds the right character to be used by the scripts.
-DOSISH=no
-case `uname -s` in
- CYGWIN*|Cygwin*|cygwin*)
- # MikTeX's kpsewhich says "kpathsea emulation version x.x.x", whereas
- # teTeX's simply "kpathsea version x.x.x".
- if kpsewhich --version | grep emulation >/dev/null 2>&1; then DOSISH=yes; fi
- ;;
- *) if test -n "$COMSPEC" || test -n "$ComSpec"; then DOSISH=yes; fi
-esac
-if test "$DOSISH" = "no"; then SEP=':'; else SEP=';'; fi
-
-#
-# A copy of some stuff from mktex.opt, so we can run in the presence of
-# terminally damaged ls-R files.
-#
-if test "x$1" = x--help || test "x$1" = x-help; then
- echo "$usage"
- exit 0
-elif test "x$1" = x--version || test "x$1" = x-version; then
- echo "`basename $0` $version"
- kpsewhich --version
- exit 0
-fi
-
-for type in $types ; do
- echo "Indexing files of type $type"
- case $type in
- cls) outfile=$CLS_STYLEFILE
- kpsetype=.tex;;
- sty) outfile=$STY_STYLEFILE
- kpsetype=.tex;;
- bst) outfile=$BST_STYLEFILE
- kpsetype=.bst;;
- bib) outfile=$BIB_FILES
- kpsetype=.bib;;
- *) echo "ERROR: unknown type $type"
- exit 1;;
- esac
-
- rm -f $outfile
- touch $outfile
-
- dirs=`kpsewhich --show-path=$kpsetype 2>/dev/null | tr "$SEP" " " | sed -e 's%/\{2,\}%/%g' -e 's%!!%%g'`
-
- for dir in $dirs ; do
- find $dir -follow -name "*.$type" >>$outfile 2>/dev/null
- done
-
-done
-#echo "list saved in $STYLEFILE"
-#echo `wc -l $CLS_STYLEFILE` # only for information
-#
-# this is the end my friends ... Jim Morrison and the Doors in "The End"
#!/usr/bin/env python
+# -*- coding: iso-8859-15 -*-
# file convertDefault.py
# This file is part of LyX, the document processor.
print >> sys.stderr, sys.argv[0], 'ERROR'
print >> sys.stderr, 'Execution of "convert" failed.'
sys.exit(1)
-
Path p(package().user_support());
Systemcall one;
one.startscript(Systemcall::Wait,
- "sh " +
- quoteName(libFileSearch("scripts", "TeXFiles.sh")));
- // To be changed to
- // "python " +
- // quoteName(libFileSearch("scripts", "TeXFiles.py")));
+ "python " +
+ quoteName(libFileSearch("scripts", "TeXFiles.py")));
}