1 # -*- coding: utf-8 -*-
4 # This file is part of LyX, the document processor.
5 # Licence details can be found in the file COPYING.
10 # Full author contact details are available in file CREDITS
13 # tex_copy.py <from file> <to file> <latex name>
15 # This script will copy a file <from file> to <to file>.
16 # <to file> is no exact copy of <from file>, but any occurence of <basename>
17 # where <basename> is <from file> without directory and extension parts is
18 # replaced by <latex name> without extension.
21 import os, string, sys
23 from lyxpreview_tools import error
27 return "Usage: %s <from file> <to file> <latex name>" % prog_name
31 # Parse and manipulate the command line arguments.
36 abs_from_file = argv[1]
37 if not os.path.isabs(abs_from_file):
38 error("%s is no absolute file name.\n%s"\
39 % abs_from_file, usage(argv[0]))
40 from_dir, rel_from_file = os.path.split(abs_from_file)
41 from_base, from_ext = os.path.splitext(rel_from_file)
45 if not os.path.isabs(abs_to_file):
46 error("%s is no absolute file name.\n%s"\
47 % abs_to_file, usage(argv[0]))
48 to_dir, rel_to_file = os.path.split(abs_to_file)
49 to_base, to_ext = os.path.splitext(rel_to_file)
53 latex_base, latex_ext = os.path.splitext(latex_file)
55 # convert strings to bytes since we are using binary files
56 from_base = from_base.encode()
57 latex_base = latex_base.encode()
59 # Read the input file and write the output file
60 if(not os.path.isfile(abs_from_file)):
61 error("%s is not a valid file.\n" % abs_from_file)
62 from_file = open(abs_from_file, 'rb')
63 to_file = open(abs_to_file, 'wb')
64 lines = from_file.readlines()
66 to_file.write(line.replace(from_base, latex_base))
73 if __name__ == "__main__":