sys.exit(1)
def usage(prog_name):
- return "Usage: %s <path/to/LyXAction.cpp> <where/to/save/LFUNs.lyx>" % prog_name
+ return "Usage: %s <path/to/LyXAction.cpp> [<where/to/save/LFUNs.lyx>]" % prog_name
DOXYGEN_START = "/*!"
DOXYGEN_END = "*/"
\\lyxformat 345
\\begin_document
\\begin_header
-\\textclass amsart
+\\textclass article
+\\begin_preamble
+\\renewcommand{\\descriptionlabel}[1]{\\hspace\\labelsep\\upshape\\bfseries #1:}
+\\renewenvironment{description}{\\list{}{%
+ \\setlength{\\itemsep}{-2pt}
+ \\advance\\leftmargini6\\p@ \\itemindent-12\\p@
+ \\labelwidth\\z@ \\let\\makelabel\\descriptionlabel}%
+}{
+ \\endlist
+}
+\\end_preamble
\\use_default_options false
-\\begin_modules
-theorems-ams
-\\end_modules
\\language english
\\inputencoding auto
\\font_roman default
\\graphics default
\\paperfontsize default
+\\spacing single
\\use_hyperref false
\\papersize default
\\use_geometry true
# TODO: actually insert a cross-reference here
line = line.replace("#LFUN", "LFUN")
+ # handle the few #lyx:: cases
+ line = line.replace("#lyx::", "lyx::")
+
# the first line might not have a field in it in which
# case the variable field won't have a value, so check
# to avoid an error
def main(argv):
# parse command line arguments
script_path, script_name = os.path.split(argv[0])
- if len(argv) != 3:
+ if len(argv) < 2:
error(usage(script_name))
# input file
lyxaction_path = argv[1]
error(script_name + ": %s is not a valid path" % lyxaction_path, usage(argv[0]))
# output file
- lfuns_path = argv[2]
- if os.path.isdir(lfuns_path):
- lfuns_path = lfuns_path + "LFUNs.lyx"
- elif os.path.exists(lfuns_path):
- error(script_name + ": %s already exists, delete it and rerun the script" % lfuns_path)
+ if len(argv) == 3:
+ lfuns_path = argv[2]
+ if os.path.isdir(lfuns_path):
+ lfuns_path = lfuns_path + "LFUNs.lyx"
+ elif os.path.exists(lfuns_path):
+ error(script_name + ": %s already exists, delete it and rerun the script" % lfuns_path)
+ lfuns_file = open(lfuns_path, 'wb')
+ else:
+ lfuns_file = sys.stdout
- print(script_name + ": Start processing " + argv[1])
+ sys.stderr.write(script_name + ": Start processing " + argv[1] + '\n')
# Read the input file and write the output file
lyxaction_file = open(lyxaction_path, 'rb')
- lfuns_file = open(lfuns_path, 'wb')
lyxaction_text = lyxaction_file.read()
- # TODO: format a proper header for LFUNs.lyx
lfuns_file.write(LFUNS_HEADER)
# seek to the important bit of LyXAction.cpp
# if no more lfuns are found, EOF reached
done = 1
- print(script_name + ": Created documentation for " + str(count) + " LFUNs")
+ sys.stderr.write(script_name + ": Created documentation for " + str(count) + " LFUNs\n")
# write the last part of LFUNs.lyx
lfuns_file.write(LFUNS_FOOTER)
lyxaction_file.close()
lfuns_file.close()
- print(script_name + ": Finished")
+ sys.stderr.write(script_name + ": Finished\n")
if __name__ == "__main__":
main(sys.argv)