mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-28 14:58:36 +00:00
48 lines
1.2 KiB
Python
48 lines
1.2 KiB
Python
|
#!/usr/bin/env python
|
||
|
# -*- coding: utf-8 -*-
|
||
|
|
||
|
# file libreoffice2eps.py
|
||
|
# This file is part of LyX, the document processor.
|
||
|
# Licence details can be found in the file COPYING.
|
||
|
#
|
||
|
# \author Tommaso Cucinotta
|
||
|
#
|
||
|
# Full author contact details are available in file CREDITS
|
||
|
|
||
|
|
||
|
# This script converts an OpenOffice drawing to EPS.
|
||
|
|
||
|
# Usage:
|
||
|
# python libreoffice2eps.py input.odg output.eps
|
||
|
|
||
|
import os, sys, tempfile, shutil
|
||
|
|
||
|
def runCommand(cmd):
|
||
|
''' Utility function:
|
||
|
run a command, quit if fails
|
||
|
'''
|
||
|
if os.system(cmd) != 0:
|
||
|
print "Command '%s' failed." % cmd
|
||
|
sys.exit(1)
|
||
|
|
||
|
# We expect two args, the names of the input and output files.
|
||
|
if len(sys.argv) != 3:
|
||
|
sys.exit(1)
|
||
|
|
||
|
input, output = sys.argv[1:]
|
||
|
|
||
|
# Fail silently if the file doesn't exist
|
||
|
if not os.path.isfile(input):
|
||
|
sys.exit(0)
|
||
|
|
||
|
tmpdir = tempfile.mkdtemp()
|
||
|
fname = os.path.splitext(os.path.basename(input))[0]
|
||
|
|
||
|
# Generate the EPS file
|
||
|
runCommand('libreoffice -nologo -headless -convert-to eps -outdir "%s" "%s"' % (tmpdir, input))
|
||
|
shutil.move('%s/%s.eps' % (tmpdir, fname), '%s/%s.ps' % (tmpdir, fname))
|
||
|
runCommand('ps2eps "%s/%s.ps"' % (tmpdir, fname))
|
||
|
shutil.move('%s/%s.eps' % (tmpdir, fname), output)
|
||
|
os.remove('%s/%s.ps' % (tmpdir, fname))
|
||
|
os.rmdir(tmpdir)
|