diff --git a/bin/openoffice/DocumentConverter.py b/bin/openoffice/DocumentConverter.py index cb18b65..e8b2126 100644 --- a/bin/openoffice/DocumentConverter.py +++ b/bin/openoffice/DocumentConverter.py @@ -11,6 +11,15 @@ #DEFAULT_OPENOFFICE_PORT = 8100 +import sys +import os + +ooProgramPath = os.environ.get('ooProgramPath') +if ooProgramPath is None: + ooProgramPath = "/usr/lib64/ooo-2.0/program" + +sys.path.append(ooProgramPath) + import uno from os.path import abspath, splitext from com.sun.star.beans import PropertyValue @@ -79,7 +88,7 @@ def _unoProps(**args): class DocumentConverter: - + def __init__(self, host, port): localContext = uno.getComponentContext() resolver = localContext.ServiceManager.createInstanceWithContext("com.sun.star.bridge.UnoUrlResolver", localContext) @@ -97,7 +106,7 @@ class DocumentConverter: inputUrl = self._fileUrl(argv[1]) outputUrl = self._fileUrl(argv[2]) - + document = self.desktop.loadComponentFromURL(inputUrl, "_blank", 0, _unoProps(Hidden=True, ReadOnly=True)) document.storeToURL(outputUrl, _unoProps(FilterName=filterName)) document.close(True) @@ -120,20 +129,20 @@ class DocumentConverter: ext = splitext(path)[1] if ext is not None: return ext[1:].lower() - + def _fileUrl(self, path): return uno.systemPathToFileUrl(abspath(path)) if __name__ == "__main__": from sys import argv, exit - + if len(argv) < 3: print "USAGE: " + argv[0] + " " exit(255) try: - converter = DocumentConverter(argv[3],argv[4]) + converter = DocumentConverter(argv[3],argv[4]) converter.convert(argv[1], argv[2]) except DocumentConversionException, exception: print "ERROR! " + str(exception) diff --git a/search2/indexing/extractorCore.inc.php b/search2/indexing/extractorCore.inc.php index 2927d59..d14c679 100755 --- a/search2/indexing/extractorCore.inc.php +++ b/search2/indexing/extractorCore.inc.php @@ -339,6 +339,8 @@ abstract class DocumentExtractor */ abstract class ExternalDocumentExtractor extends DocumentExtractor { + protected $allowOutput = false; + /** * Initialise the extractor. * @@ -347,6 +349,14 @@ abstract class ExternalDocumentExtractor extends DocumentExtractor { parent::__construct(); putenv('LANG=en_US.UTF-8'); + + $config = KTConfig::getSingleton(); + putenv('ooProgramPath=' . $config->get('openoffice/ProgramPath', '/usr/lib64/ooo-2.0/program2')); + } + + public function setAllowOutput($allowOutput) + { + $this->allowOutput = $allowOutput; } /** @@ -419,7 +429,7 @@ abstract class ExternalDocumentExtractor extends DocumentExtractor @unlink($script_out); } - return ($res == 0) && empty($this->output); + return ($res == 0) && (empty($this->output) || $this->allowOutput); } /**