[Erp5-report] r42067 gabriel - in /erp5/trunk/utils/cloudooo/cloudooo/handler: ooo/ ooo/tes...

nobody at svn.erp5.org nobody at svn.erp5.org
Thu Jan 6 16:36:14 CET 2011


Author: gabriel
Date: Thu Jan  6 16:36:14 2011
New Revision: 42067

URL: http://svn.erp5.org?rev=42067&view=rev
Log:
continuation of r42064. Avoid usage of shell == True.

Added:
    erp5/trunk/utils/cloudooo/cloudooo/handler/pdf/
Modified:
    erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/handler.py
    erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testAllFormats.py
    erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testFileSystemDocument.py
    erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testHighLoad.py
    erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testOOHandler.py
    erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testServer.py
    erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testUnoConverter.py
    erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testUnoMimemapper.py

Modified: erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/handler.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/handler.py?rev=42067&r1=42066&r2=42067&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/handler.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/handler.py [utf8] Thu Jan  6 16:36:14 2011
@@ -85,7 +85,7 @@ class OOHandler:
     for k, v in kw.iteritems():
       command_list.append("--%s='%s'" % (k, v))
 
-    return ' '.join(command_list)
+    return command_list
 
   def _startTimeout(self):
     """start the Monitor"""
@@ -98,14 +98,13 @@ class OOHandler:
     self.monitor.terminate()
     return
 
-  def _subprocess(self, command):
+  def _subprocess(self, command_list):
     """Run one procedure"""
     if monitor_sleeping_time is not None:
       monitor_sleeping_time.touch()
     try:
       self._startTimeout()
-      process = Popen(command,
-                    shell=True,
+      process = Popen(command_list,
                     stdout=PIPE,
                     stderr=PIPE,
                     close_fds=True)
@@ -121,8 +120,8 @@ class OOHandler:
     if not openoffice.status():
       xvfb.restart()
       openoffice.start()
-    command = self._getCommand(*feature_list, **kw)
-    stdout, stderr = self._subprocess(command)
+    command_list = self._getCommand(*feature_list, **kw)
+    stdout, stderr = self._subprocess(command_list)
     if not stdout and len(re.findall("\w*Exception|\w*Error", stderr)) >= 1:
       logger.debug(stderr)
       self.document.restoreOriginal()

Modified: erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testAllFormats.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testAllFormats.py?rev=42067&r1=42066&r2=42067&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testAllFormats.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testAllFormats.py [utf8] Thu Jan  6 16:36:14 2011
@@ -83,8 +83,8 @@ class TestAllFormats(CloudoooTestCase):
          continue
       output_file_url = '%s/test_%s.%s' % (self.tmp_url, document_type, extension[0])
       open(output_file_url, 'w').write(decodestring(data_output))
-      stdout, stderr = Popen("file %s" % output_file_url, 
-                            shell=True,
+      command = [file, output_file_url]
+      stdout, stderr = Popen(command, 
                             stdout=PIPE,
                             stderr=PIPE).communicate()
       self.assertEquals(stdout.endswith(": empty"), False, stdout)

Modified: erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testFileSystemDocument.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testFileSystemDocument.py?rev=42067&r1=42066&r2=42067&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testFileSystemDocument.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testFileSystemDocument.py [utf8] Thu Jan  6 16:36:14 2011
@@ -106,8 +106,9 @@ class TestFileSystemDocument(unittest.Te
     open(path.join(self.fsdocument.directory_name, 'document2'), 'w').write('test')
     zip_file = self.fsdocument.getContent(True)
     open(zip_output_url, 'w').write(zip_file)
-    stdout, stderr = Popen("file %s" % zip_output_url, 
-        shell=True, stdout=PIPE).communicate()
+    command = ["file", zip_output_url]
+    stdout, stderr = Popen(command, 
+                           stdout=PIPE).communicate()
     self.assertEquals(stdout, '/tmp/ziptest.zip: Zip archive data, at least v2.0 to extract\n')
     ziptest = ZipFile(zip_output_url, 'r')
     self.assertEquals(len(ziptest.filelist), 2)

Modified: erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testHighLoad.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testHighLoad.py?rev=42067&r1=42066&r2=42067&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testHighLoad.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testHighLoad.py [utf8] Thu Jan  6 16:36:14 2011
@@ -47,8 +47,9 @@ class TestHighLoad(CloudoooTestCase):
     document = self.proxy.convertFile(data, source_format, destination_format)
     document_output_url = os.path.join(self.tmp_url, "%s.%s" % (id, destination_format))
     open(document_output_url, 'wb').write(decodestring(document))
-    stdout, stderr = subprocess.Popen("file -b %s" % document_output_url,
-        shell=True, stdout=subprocess.PIPE).communicate()
+    command_list = ["file", "-b", document_output_url]
+    stdout, stderr = subprocess.Popen(command_list,
+                                      stdout=subprocess.PIPE).communicate()
     self.assertEquals(stdout, 'PDF document, version 1.4\n')
     self.assertEquals(stderr, None)
     os.remove(document_output_url)

Modified: erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testOOHandler.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testOOHandler.py?rev=42067&r1=42066&r2=42067&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testOOHandler.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testOOHandler.py [utf8] Thu Jan  6 16:36:14 2011
@@ -53,8 +53,8 @@ class TestOOHandler(CloudoooTestCase):
 
   def _assert_document_output(self, document_output_url, msg):
     """Check if the document was created correctly"""
-    stdout, stderr = Popen("file -b %s" % document_output_url,
-                          shell=True,
+    command_list = ["file", "-b", document_output_url]
+    stdout, stderr = Popen(command_list
                           stdout=PIPE).communicate()
     self.assertEquals(msg in stdout,
                       True,

Modified: erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testServer.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testServer.py?rev=42067&r1=42066&r2=42067&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testServer.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testServer.py [utf8] Thu Jan  6 16:36:14 2011
@@ -108,11 +108,15 @@ class TestServer(CloudoooTestCase):
                                         source_format,
                                         destination_format, zip)
     open(output_url, 'w').write(decodestring(output_data))
-    stdout, stderr = Popen("file -b %s" % output_url, shell=True,
-         stdout=PIPE).communicate()
+    stdout, stderr = self._getFileType(output_url)
     self.assertEquals(stdout, stdout_msg)
     self.assertEquals(stderr, None)
 
+  def _getFileType(self, output_url):
+    return Popen(["file", "-b", output_url],
+                 stdout=PIPE,
+                 stderr=PIPE).communicate()
+
   def testGetAllowedExtensionListByType(self):
     """Call getAllowedExtensionList and verify if the returns is a list with
     extension and ui_name. The request is by document type"""
@@ -187,8 +191,7 @@ class TestServer(CloudoooTestCase):
                                                        True)
     self.assertNotEquals(metadata_dict.get("Data"), None)
     open(document_output_url, 'w').write(decodestring(metadata_dict["Data"]))
-    stdout, stderr = Popen("file -b %s" % document_output_url, shell=True,
-        stdout=PIPE).communicate()
+    stdout, stderr = self._getFileType(document_output_url)
     self.assertEquals(stdout, 'OpenDocument Text\n')
     self.assertEquals(metadata_dict.get("Title"), "cloudooo Test")
     self.assertEquals(metadata_dict.get("Subject"), "Subject Test")
@@ -204,8 +207,7 @@ class TestServer(CloudoooTestCase):
     odf_data = self.proxy.updateFileMetadata(encodestring(data), 'odt',
         {"Title":"testSetMetadata"})
     open(document_output_url, 'w').write(decodestring(odf_data))
-    stdout, stderr = Popen("file -b %s" % document_output_url, shell=True,
-        stdout=PIPE).communicate()
+    stdout, stderr = self._getFileType(document_output_url)
     self.assertEquals(stdout, 'OpenDocument Text\n')
     metadata_dict = self.proxy.getFileMetadataItemList(odf_data, 'odt')
     self.assertEquals(metadata_dict.get("Title"), "testSetMetadata")
@@ -221,8 +223,7 @@ class TestServer(CloudoooTestCase):
                                               'odt',
                                               {"Reference":"testSetMetadata"})
     open(document_output_url, 'w').write(decodestring(odf_data))
-    stdout, stderr = Popen("file -b %s" % document_output_url, shell=True,
-        stdout=PIPE).communicate()
+    stdout, stderr = self._getFileType(document_output_url)
     self.assertEquals(stdout, 'OpenDocument Text\n')
     metadata_dict = self.proxy.getFileMetadataItemList(odf_data, 'odt')
     self.assertEquals(metadata_dict.get("Reference"), "testSetMetadata")
@@ -237,8 +238,7 @@ class TestServer(CloudoooTestCase):
     new_odf_data = self.proxy.updateFileMetadata(odf_data, 'odt',
                         {"Reference":"new value", "Something": "ABC"})
     open(document_output_url, 'w').write(decodestring(new_odf_data))
-    stdout, stderr = Popen("file -b %s" % document_output_url, shell=True,
-        stdout=PIPE).communicate()
+    stdout, stderr = self._getFileType(document_output_url)
     self.assertEquals(stdout, 'OpenDocument Text\n')
     metadata_dict = self.proxy.getFileMetadataItemList(new_odf_data, 'odt')
     self.assertEquals(metadata_dict.get("Reference"), "new value")
@@ -437,8 +437,7 @@ class TestServer(CloudoooTestCase):
     try:
       png_path = join(self.tmp_url, "img0.png")
       zipfile.extractall(self.tmp_url)
-      stdout, stderr = Popen("file -b %s" % png_path, shell=True,
-         stdout=PIPE).communicate()
+      stdout, stderr =  self._getFileType(png_path)
       self.assertTrue(stdout.startswith('PNG image data'), stdout)
       self.assertTrue("8-bit/color RGB" in stdout, stdout)
     finally:

Modified: erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testUnoConverter.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testUnoConverter.py?rev=42067&r1=42066&r2=42067&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testUnoConverter.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testUnoConverter.py [utf8] Thu Jan  6 16:36:14 2011
@@ -73,13 +73,15 @@ class TestUnoConverter(CloudoooTestCase)
           "--destination_format='%s'" % "doc",
           "--source_format='%s'" % "odt",
           "--mimemapper='%s'" % mimemapper_pickled]
-    stdout, stderr = Popen(' '.join(command), shell=True, 
+    stdout, stderr = Popen(command, 
         stdout=PIPE, stderr=PIPE).communicate()
     self.assertEquals(stderr, '')
     output_url = stdout.replace('\n', '')
     self.assertTrue(exists(output_url), stdout)
-    stdout, stderr = Popen("file %s" % output_url, shell=True, 
-        stdout=PIPE, stderr=PIPE).communicate()
+    command = [file, output_url]
+    stdout, stderr = Popen(command,
+                           stdout=PIPE, 
+                           stderr=PIPE).communicate()
     self.assertEquals(self.file_msg_list[1] in stdout \
                       or \
                       self.file_msg_list[0] in stdout,

Modified: erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testUnoMimemapper.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testUnoMimemapper.py?rev=42067&r1=42066&r2=42067&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testUnoMimemapper.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testUnoMimemapper.py [utf8] Thu Jan  6 16:36:14 2011
@@ -61,8 +61,9 @@ class TestUnoMimeMapper(CloudoooTestCase
             "'--office_binary_path=%s'" % self.office_binary_path,
             "'--hostname=%s'" % self.hostname,
             "'--port=%s'" % self.openoffice_port]
-    stdout, stderr = Popen(' '.join(command), shell=True,
-        stdout=PIPE, stderr=PIPE).communicate()
+    stdout, stderr = Popen(command, 
+                           stdout=PIPE,
+                           stderr=PIPE).communicate()
     self.assertEquals(stderr, '')
     filter_dict, type_dict = json.loads(stdout)
     self.assertTrue('filter_dict' in locals())
@@ -81,8 +82,9 @@ class TestUnoMimeMapper(CloudoooTestCase
                                        "handler/ooo/helper/unomimemapper.py"),
             "'--hostname=%s'" % self.hostname,
             "'--port=%s'" % self.openoffice_port]
-    stdout, stderr = Popen(' '.join(command), shell=True,
-        stdout=PIPE, stderr=PIPE).communicate()
+    stdout, stderr = Popen(command,
+                           stdout=PIPE,
+                           stderr=PIPE).communicate()
     self.assertEquals(stderr, '')
     filter_dict, type_dict = json.loads(stdout)
     self.assertTrue('filter_dict' in locals())
@@ -106,8 +108,9 @@ class TestUnoMimeMapper(CloudoooTestCase
             "'--office_binary_path=%s'" % self.office_binary_path,
             "'--hostname=%s'" % self.hostname,
             "'--port=%s'" % self.openoffice_port]
-    stdout, stderr = Popen(' '.join(command), shell=True,
-        stdout=PIPE, stderr=PIPE).communicate()
+    stdout, stderr = Popen(command,
+                           stdout=PIPE,
+                           stderr=PIPE).communicate()
     self.assertEquals(stdout, '')
     self.assertTrue(stderr.endswith(error_msg), stderr)
     openoffice.start()



More information about the Erp5-report mailing list