#! /usr/bin/env python
-# -*- coding: iso-8859-1 -*-
-# Copyright (C) 2002-2004 José Matos <jamatos@lyx.org>
+# -*- coding: utf-8 -*-
+# Copyright (C) 2002-2004 José Matos <jamatos@lyx.org>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
-d, --debug level level=0..2 (O_ no debug information, 2_verbose)
default: level=1
-e, --err error_file name of the error file or else goes to stderr
+ -f, --from version initial version (optional)
-t, --to version final version (optional)
-o, --output name name of the output file or else goes to stdout
+ -n, --try-hard try hard (ignore any convertion errors)
+ -c, --cjk [encoding] files in format 248 and lower are read and
+ written in the format of CJK-LyX.
+ If encoding is not given or 'auto' the encoding
+ is determined from the locale.
-q, --quiet same as --debug=0"""
def parse_options(argv):
- _options = ["help", "version", "list", "debug=", "err=", "from=", "to=", "output=", "quiet"]
+ _options = ["help", "version", "list", "debug=", "err=", "from=", "to=", "output=", "try-hard", "cjk", "quiet"]
try:
- opts, args = getopt.getopt(argv[1:], "d:e:f:hlo:qt:v", _options)
+ opts, args = getopt.getopt(argv[1:], "c:d:e:f:hlno:qt:v", _options)
except getopt.error:
usage()
sys.exit(2)
- end_format, input, output, error, debug = 0, "", "", "", LyX.default_debug_level
+ end_format, input, output, error, debug, try_hard = 0, "", "", "", LyX.default_debug_level, 0
+ cjk_encoding = ''
for o, a in opts:
if o in ("-h", "--help"):
usage()
sys.exit()
if o in ("-v", "--version"):
- print "lyx2lyx, version %s" %(LyX.version)
- print "Copyright (C) 2002-2004 José Matos and Dekel Tsur"
+ print "lyx2lyx, version %s" %(LyX.version_lyx2lyx)
+ print "Copyright (C) 2002-2004 José Matos and Dekel Tsur"
sys.exit()
if o in ("-d", "--debug"):
debug = int(a)
end_format = a
if o in ("-e","--err"):
error = a
+ if o in ("-n", "--try-hard"):
+ try_hard = 1
+ if o in ("-c", "--cjk"):
+ if a == '':
+ cjk_encoding = 'auto'
+ else:
+ cjk_encoding = a
if args:
input = args[0]
- return end_format, input, output, error, debug
+ return end_format, input, output, error, debug, try_hard, cjk_encoding
def main(argv):
- end_format, input, output, error, debug = parse_options(argv)
- file = LyX.FileInfo(end_format, input, output, error, debug)
+ end_format, input, output, error, debug, try_hard, cjk_encoding = parse_options(argv)
+ file = LyX.File(end_format, input, output, error, debug, try_hard, cjk_encoding)
- mode, convertion_chain = file.chain()
- file.warning("convertion chain: " + str(convertion_chain), 3)
+ file.convert()
+ file.write()
- for step in convertion_chain:
- convert = getattr(__import__("lyx_" + step), mode)
- convert(file)
+ return file.status
- file.write()
if __name__ == "__main__":
- main(sys.argv)
+ sys.exit(main(sys.argv))