[Erp5-report] r38939 gabriel - in /erp5/trunk/utils/cloudooo/cloudooo: handler/ helper/
nobody at svn.erp5.org
nobody at svn.erp5.org
Thu Oct 7 00:34:16 CEST 2010
Author: gabriel
Date: Thu Oct 7 00:34:14 2010
New Revision: 38939
URL: http://svn.erp5.org?rev=38939&view=rev
Log:
fixed Bug #2014. refactor code to convert data to base64. With this, is possible send data with quotes
Modified:
erp5/trunk/utils/cloudooo/cloudooo/handler/oohandler.py
erp5/trunk/utils/cloudooo/cloudooo/helper/unoconverter.py
Modified: erp5/trunk/utils/cloudooo/cloudooo/handler/oohandler.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/handler/oohandler.py?rev=38939&r1=38938&r2=38939&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/handler/oohandler.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/handler/oohandler.py [utf8] Thu Oct 7 00:34:14 2010
@@ -27,6 +27,7 @@
##############################################################################
import jsonpickle, pkg_resources
+from base64 import decodestring, encodestring
from os import environ, path
from subprocess import Popen, PIPE
from cloudooo.application.openoffice import openoffice
@@ -38,7 +39,6 @@ from cloudooo.document import FileSystem
from cloudooo.monitor.timeout import MonitorTimeout
from cloudooo.utils import logger
from psutil import pid_exists
-from sys import executable as python_path
class OOHandler:
"""OOHandler is used to access the one Document and OpenOffice.
@@ -79,9 +79,9 @@ class OOHandler:
, "--document_url='%s'" % self.document.getUrl()
, "--jsonpickle_path='%s'" % jsonpickle_path]
for arg in args:
- command_list.insert(3, "'--%s'" % arg)
+ command_list.insert(3, "--%s" % arg)
for k, v in kw.iteritems():
- command_list.append("'--%s=%s'" % (k,v))
+ command_list.append("--%s='%s'" % (k,v))
return ' '.join(command_list)
@@ -194,8 +194,7 @@ class OOHandler:
openoffice.release()
if self.monitor.is_alive():
self._stopTimeout()
- metadata={}
- exec("metadata=%s" % stdout)
+ metadata=jsonpickle.decode(decodestring(stdout))
if metadata.get("Data"):
self.document.reload(metadata['Data'])
metadata['Data'] = self.document.getContent()
@@ -213,7 +212,7 @@ class OOHandler:
openoffice.acquire()
metadata_pickled = jsonpickle.encode(metadata)
logger.debug("setMetadata")
- kw = dict(metadata=metadata_pickled)
+ kw = dict(metadata=encodestring(metadata_pickled))
try:
stdout, stderr = self._callUnoConverter(*['setmetadata'], **kw)
finally:
Modified: erp5/trunk/utils/cloudooo/cloudooo/helper/unoconverter.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/helper/unoconverter.py?rev=38939&r1=38938&r2=38939&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/helper/unoconverter.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/helper/unoconverter.py [utf8] Thu Oct 7 00:34:14 2010
@@ -33,6 +33,7 @@ from types import UnicodeType, InstanceT
from os import environ, putenv
from os.path import dirname, exists
from tempfile import mktemp
+from base64 import decodestring, encodestring
from getopt import getopt, GetoptError
__doc__ = """
@@ -298,6 +299,7 @@ def main():
elif opt == '--source_format':
source_format = arg
elif opt == '--metadata':
+ arg = decodestring(arg)
metadata = jsonpickle.decode(arg)
elif opt == '--mimemapper':
mimemapper = jsonpickle.decode(arg)
@@ -319,10 +321,12 @@ def main():
elif '--convert' in param_list and 'destination_format' in locals():
output = unoconverter.convert(destination_format)
elif '--getmetadata' in param_list and not '--convert' in param_list:
- output = unoconverter.getMetadata()
+ metadata_dict = unoconverter.getMetadata()
+ output = encodestring(jsonpickle.encode(metadata_dict))
elif '--getmetadata' in param_list and '--convert' in param_list:
- output = unoconverter.getMetadata()
- output['Data'] = unoconverter.convert()
+ metadata_dict = unoconverter.getMetadata()
+ metadata_dict['Data'] = unoconverter.convert()
+ output = encodestring(jsonpickle.encode(metadata_dict))
elif '--setmetadata' in param_list:
unoconverter.setMetadata(metadata)
output = document_url
More information about the Erp5-report
mailing list