[Erp5-report] r42206 kazuhiko - /erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/application/
nobody at svn.erp5.org
nobody at svn.erp5.org
Tue Jan 11 15:45:01 CET 2011
Author: kazuhiko
Date: Tue Jan 11 15:45:00 2011
New Revision: 42206
URL: http://svn.erp5.org?rev=42206&view=rev
Log:
* _startProcess() handles everything to guarantee starting process:
* stop process if any
* release port if used
* test running soffice
* stop() does now crear working directories.
now cloudooo supports LibreOffice, that exits in status=81 at the very first invoking.
Modified:
erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/application/openoffice.py
Modified: erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/application/openoffice.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/application/openoffice.py?rev=42206&r1=42205&r2=42206&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/application/openoffice.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/application/openoffice.py [utf8] Tue Jan 11 15:45:00 2011
@@ -98,12 +98,17 @@ class OpenOffice(Application):
def _startProcess(self, command, env):
"""Start OpenOffice.org process"""
- self.process = Popen(command,
- close_fds=True,
- env=env)
- returned_code = self.process.poll()
- waitStartDaemon(self, self.timeout)
- return self._testOpenOffice(self.hostname, self.port)
+ for i in range(5):
+ self.stop()
+ waitStopDaemon(self, self.timeout)
+ self.process = Popen(command,
+ close_fds=True,
+ env=env)
+ returned_code = self.process.poll()
+ if not waitStartDaemon(self, self.timeout):
+ continue
+ if self._testOpenOffice(self.hostname, self.port):
+ return
def _releaseOpenOfficePort(self):
for process in psutil.process_iter():
@@ -150,13 +155,7 @@ class OpenOffice(Application):
env["TMP"] = self.path_user_installation
env["TMPDIR"] = self.path_user_installation
env["DISPLAY"] = ":%s" % self.display_id
- if socketStatus(self.hostname, self.port):
- self._releaseOpenOfficePort()
- process_started = self._startProcess(self.command, env)
- if not process_started:
- self.stop()
- waitStopDaemon(self, self.timeout)
- self._startProcess(self.command, env)
+ self._startProcess(self.command, env)
self._cleanRequest()
Application.start(self)
@@ -166,8 +165,6 @@ class OpenOffice(Application):
Application.stop(self)
if socketStatus(self.hostname, self.port):
self._releaseOpenOfficePort()
- if exists(self.path_user_installation):
- removeDirectory(self.path_user_installation)
self._cleanRequest()
def isLocked(self):
More information about the Erp5-report
mailing list