]> git.lyx.org Git - features.git/commitdiff
Adding the script missing from last commit.
authorTommaso Cucinotta <tommaso@lyx.org>
Mon, 19 Sep 2011 00:37:15 +0000 (00:37 +0000)
committerTommaso Cucinotta <tommaso@lyx.org>
Mon, 19 Sep 2011 00:37:15 +0000 (00:37 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39707 a592a061-630c-0410-9148-cb99ea01b6c8

lib/scripts/libreoffice2eps.py [new file with mode: 0755]

diff --git a/lib/scripts/libreoffice2eps.py b/lib/scripts/libreoffice2eps.py
new file mode 100755 (executable)
index 0000000..c7329c2
--- /dev/null
@@ -0,0 +1,47 @@
+#!/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)