[Erp5-report] r37816 gabriel - in /erp5/trunk/utils/cloudooo/cloudooo: ./ application/
nobody at svn.erp5.org
nobody at svn.erp5.org
Fri Aug 13 19:17:30 CEST 2010
Author: gabriel
Date: Fri Aug 13 19:17:24 2010
New Revision: 37816
URL: http://svn.erp5.org?rev=37816&view=rev
Log:
refactor to get the path of the python scripts and cloudooo dynamically.
Modified:
erp5/trunk/utils/cloudooo/cloudooo/application/openoffice.py
erp5/trunk/utils/cloudooo/cloudooo/application/xvfb.py
erp5/trunk/utils/cloudooo/cloudooo/cloudooo.py
erp5/trunk/utils/cloudooo/cloudooo/mimemapper.py
Modified: erp5/trunk/utils/cloudooo/cloudooo/application/openoffice.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/application/openoffice.py?rev=37816&r1=37815&r2=37816&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/application/openoffice.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/application/openoffice.py [utf8] Fri Aug 13 19:17:24 2010
@@ -33,6 +33,7 @@ from threading import Lock
from cloudooo.ooolib import setUpUnoEnvironment
from zope.interface import implements
from application import Application
+from sys import executable as python_path
from xvfb import xvfb
from cloudooo.interfaces.lockable import ILockable
from cloudooo.utils import logger, waitStartDaemon,\
@@ -57,7 +58,7 @@ class OpenOffice(Application):
def _testOpenOffice(self, host, port):
"""Test if OpenOffice was started correctly"""
logger.debug("Test OpenOffice %s - Pid %s" % (self.getAddress()[-1], self.pid()))
- command = [self.python_path
+ command = [python_path
, self.openoffice_tester_bin
, "--hostname=%s" % host
, "--port=%s" % port
Modified: erp5/trunk/utils/cloudooo/cloudooo/application/xvfb.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/application/xvfb.py?rev=37816&r1=37815&r2=37816&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/application/xvfb.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/application/xvfb.py [utf8] Fri Aug 13 19:17:24 2010
@@ -54,10 +54,12 @@ class Xvfb(Application):
def start(self):
"""Method to start Virtual Frame Buffer."""
self.command = ["Xvfb", "-ac", ":%s" % self.display_id, \
+# "-nolisten", "tcp",
"-screen", self.virtual_screen, "800x600x16", \
"-fbdir", self.path_run_dir]
- self.process = Popen(self.command,
+ self.process = Popen(" ".join(self.command),
stdout=PIPE,
+ shell=True,
close_fds=True)
waitStartDaemon(self, self.timeout)
Application.start(self)
Modified: erp5/trunk/utils/cloudooo/cloudooo/cloudooo.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/cloudooo.py?rev=37816&r1=37815&r2=37816&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/cloudooo.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/cloudooo.py [utf8] Fri Aug 13 19:17:24 2010
@@ -32,9 +32,9 @@ from application.xvfb import xvfb
from wsgixmlrpcapplication import WSGIXMLRPCApplication
from utils import convertStringToBool, configureLogger, cleanDirectory
from os import path
-import monitor
+from sys import executable
from mimemapper import mimemapper
-import gc
+import monitor, gc, pkg_resources
def stopProcesses():
monitor.stop()
@@ -73,7 +73,16 @@ def application(global_config, **local_c
# directory to create temporary files
cloudooo_path_tmp_dir = path.join(path_dir_run_cloudooo, 'tmp')
cleanDirectory(cloudooo_path_tmp_dir)
-
+ # it extracts the path of cloudooo scripts
+ cloudooo_resources = pkg_resources.get_distribution('cloudooo')
+ console_scripts = cloudooo_resources.get_entry_map()['console_scripts']
+ unomimemapper_bin = path.join(path.dirname(executable),
+ console_scripts["unomimemapper.py"].name)
+ unoconverter_bin = path.join(path.dirname(executable),
+ console_scripts["unoconverter.py"].name)
+ openoffice_tester_bin = path.join(path.dirname(executable),
+ console_scripts["openoffice_tester.py"].name)
+
# The Xvfb will run in the same local of the OpenOffice
application_hostname = local_config.get('application_hostname')
openoffice_port = int(local_config.get('openoffice_port'))
@@ -85,7 +94,7 @@ def application(global_config, **local_c
virtual_screen=local_config.get('virtual_screen'),
start_timeout=local_config.get('start_timeout'))
xvfb.start()
-
+
# Loading Configuration to start OOo Instance and control it
openoffice.loadSettings(application_hostname,
openoffice_port,
@@ -93,10 +102,10 @@ def application(global_config, **local_c
local_config.get('virtual_display_id'),
local_config.get('office_bin_path'),
local_config.get('uno_path'),
- unoconverter_bin=local_config.get('unoconverter_bin'),
+ unoconverter_bin=unoconverter_bin,
python_path=local_config.get('python_path'),
- unomimemapper_bin=local_config.get('unomimemapper_bin'),
- openoffice_tester_bin=local_config.get('openoffice_tester_bin'))
+ unomimemapper_bin=unomimemapper_bin,
+ openoffice_tester_bin=openoffice_tester_bin)
openoffice.start()
monitor.load(local_config)
@@ -108,14 +117,12 @@ def application(global_config, **local_c
openoffice.acquire()
mimemapper.loadFilterList(application_hostname,
openoffice_port,
- unomimemapper_bin=local_config.get('unomimemapper_bin'),
+ unomimemapper_bin=unomimemapper_bin,
python_path=local_config.get('python_path'))
openoffice.release()
from manager import Manager
timeout_response = int(local_config.get('timeout_response'))
- kw = dict(timeout=timeout_response,
- unoconverter_bin=local_config.get('unoconverter_bin'),
- python_path=local_config.get('python_path'))
+ kw = dict(timeout=timeout_response, unoconverter_bin=unoconverter_bin)
cloudooo_manager = Manager(cloudooo_path_tmp_dir, **kw)
return WSGIXMLRPCApplication(instance=cloudooo_manager)
Modified: erp5/trunk/utils/cloudooo/cloudooo/mimemapper.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/mimemapper.py?rev=37816&r1=37815&r2=37816&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/mimemapper.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/mimemapper.py [utf8] Fri Aug 13 19:17:24 2010
@@ -31,6 +31,7 @@ from subprocess import Popen, PIPE
from zope.interface import implements
from filter import Filter
from os import environ
+from sys import executable as python_path
from interfaces.mimemapper import IMimemapper
from types import InstanceType
@@ -106,7 +107,7 @@ class MimeMapper(object):
"/usr/bin/unomimemapper.py")
uno_path = kw.get("uno_path", environ.get('uno_path'))
office_bin_path = kw.get("office_bin_path", environ.get('office_bin_path'))
- command = [self.python_path
+ command = [python_path
, self.unomimemapper_bin
, "--uno_path=%s" % uno_path
, "--office_bin_path=%s" % office_bin_path
More information about the Erp5-report
mailing list