[Erp5-report] r16678 - in /erp5/trunk/products/ERP5OOo: OOoUtils.py tests/testOOoImport.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Thu Sep 27 20:15:03 CEST 2007
Author: jerome
Date: Thu Sep 27 20:15:03 2007
New Revision: 16678
URL: http://svn.erp5.org?rev=16678&view=rev
Log:
Extend OOoParser so that it's possible to feed the parser with content as
string, not only with a file object.
Modified:
erp5/trunk/products/ERP5OOo/OOoUtils.py
erp5/trunk/products/ERP5OOo/tests/testOOoImport.py
Modified: erp5/trunk/products/ERP5OOo/OOoUtils.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5OOo/OOoUtils.py?rev=16678&r1=16677&r2=16678&view=diff
==============================================================================
--- erp5/trunk/products/ERP5OOo/OOoUtils.py (original)
+++ erp5/trunk/products/ERP5OOo/OOoUtils.py Thu Sep 27 20:15:03 2007
@@ -236,6 +236,10 @@
self.ns = {}
self.filename = None
+ security.declareProtected(Permissions.ImportExportObjects, 'openFromString')
+ def openFromString(self, text_content):
+ return self.openFile(StringIO(text_content))
+
security.declareProtected(Permissions.ImportExportObjects, 'openFile')
def openFile(self, file_descriptor):
"""
Modified: erp5/trunk/products/ERP5OOo/tests/testOOoImport.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5OOo/tests/testOOoImport.py?rev=16678&r1=16677&r2=16678&view=diff
==============================================================================
--- erp5/trunk/products/ERP5OOo/tests/testOOoImport.py (original)
+++ erp5/trunk/products/ERP5OOo/tests/testOOoImport.py Thu Sep 27 20:15:03 2007
@@ -36,6 +36,7 @@
from AccessControl.SecurityManagement import newSecurityManager
from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase
from Products.ERP5Type.tests.Sequence import SequenceList
+from Products.ERP5OOo.OOoUtils import OOoParser
ooodoc_coordinates = ('127.0.0.1', 8008)
@@ -198,6 +199,28 @@
self.assertEquals(1, france.getIntIndex())
+ # simple OOoParser tests
+ def test_getSpreadSheetMapping(self):
+ parser = OOoParser()
+ parser.openFile(open(makeFilePath('import_data_list.ods'), 'rb'))
+ mapping = parser.getSpreadsheetsMapping()
+ self.assertEquals(['Person'], mapping.keys())
+ person_mapping = mapping['Person']
+ self.assertTrue(isinstance(person_mapping, list))
+ self.assertTrue(102, len(person_mapping))
+ self.assertEquals(person_mapping[0],
+ ['Title', 'First Name', 'Last Name', 'Default Email Text'])
+ self.assertEquals(person_mapping[1],
+ ['John Doe 0', 'John', 'Doe 0', 'john.doe0 at foo.com'])
+
+ def test_openFromString(self):
+ parser = OOoParser()
+ parser.openFromString(
+ open(makeFilePath('import_data_list.ods'), 'rb').read())
+ mapping = parser.getSpreadsheetsMapping()
+ self.assertEquals(['Person'], mapping.keys())
+
+
def test_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(TestOOoImport))
More information about the Erp5-report
mailing list