mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-21 13:01:24 +00:00
71ebf846bb
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39707 a592a061-630c-0410-9148-cb99ea01b6c8
48 lines
1.2 KiB
Python
Executable File
48 lines
1.2 KiB
Python
Executable File
#!/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)
|