[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