mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-29 21:05:12 +00:00
70 lines
1.9 KiB
Python
70 lines
1.9 KiB
Python
|
#! /usr/bin/env python
|
||
|
# -*- coding: iso-8859-1 -*-
|
||
|
|
||
|
# file tex_copy.py
|
||
|
# This file is part of LyX, the document processor.
|
||
|
# Licence details can be found in the file COPYING.
|
||
|
|
||
|
# author Angus Leeming
|
||
|
# author Georg Baum
|
||
|
|
||
|
# Full author contact details are available in file CREDITS
|
||
|
|
||
|
# Usage:
|
||
|
# tex_copy.py from file> <to file> <latex name>
|
||
|
|
||
|
# This script will copy a file <from file> to <to file>.
|
||
|
# <to file> is no exact copy of <from file>, but any occurence of <basename>
|
||
|
# where <basename> is <from file> without directory and extension parts is
|
||
|
# replaced by <latex name> without extension.
|
||
|
|
||
|
|
||
|
import os, string, sys
|
||
|
|
||
|
from lyxpreview_tools import error
|
||
|
|
||
|
|
||
|
def usage(prog_name):
|
||
|
return "Usage: %s <from file> <to file> <latex name>" % prog_name
|
||
|
|
||
|
|
||
|
def main(argv):
|
||
|
# Parse and manipulate the command line arguments.
|
||
|
if len(argv) != 4:
|
||
|
error(usage(argv[0]))
|
||
|
|
||
|
# input file
|
||
|
abs_from_file = argv[1]
|
||
|
if not os.path.isabs(abs_from_file):
|
||
|
error("%s is no absolute file name.\n%s"\
|
||
|
% abs_from_file, usage(argv[0]))
|
||
|
from_dir, rel_from_file = os.path.split(abs_from_file)
|
||
|
from_base, from_ext = os.path.splitext(rel_from_file)
|
||
|
|
||
|
# output file
|
||
|
abs_to_file = argv[2]
|
||
|
if not os.path.isabs(abs_to_file):
|
||
|
error("%s is no absolute file name.\n%s"\
|
||
|
% abs_to_file, usage(argv[0]))
|
||
|
to_dir, rel_to_file = os.path.split(abs_to_file)
|
||
|
to_base, to_ext = os.path.splitext(rel_to_file)
|
||
|
|
||
|
# latex file name
|
||
|
latex_file = argv[3]
|
||
|
latex_base, latex_ext = os.path.splitext(latex_file)
|
||
|
|
||
|
# Read the input file and write the output file
|
||
|
from_file = open(abs_from_file, 'rb')
|
||
|
to_file = open(abs_to_file, 'wb')
|
||
|
lines = from_file.readlines()
|
||
|
for line in lines:
|
||
|
to_file.write(line.replace(from_base, latex_base))
|
||
|
from_file.close()
|
||
|
to_file.close()
|
||
|
|
||
|
return 0
|
||
|
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
main(sys.argv)
|