[Erp5-report] r41840 hugo.maia - in /erp5/trunk/utils/cloudooo/cloudooo: ./ granulate/ inte...
nobody at svn.erp5.org
nobody at svn.erp5.org
Tue Dec 28 20:15:43 CET 2010
Author: hugo.maia
Date: Tue Dec 28 20:15:43 2010
New Revision: 41840
URL: http://svn.erp5.org?rev=41840&view=rev
Log:
Add getTableMatrix for oogranulate
Modified:
erp5/trunk/utils/cloudooo/cloudooo/CHANGES.txt
erp5/trunk/utils/cloudooo/cloudooo/granulate/oogranulate.py
erp5/trunk/utils/cloudooo/cloudooo/interfaces/granulate.py
erp5/trunk/utils/cloudooo/cloudooo/tests/testInterface.py
erp5/trunk/utils/cloudooo/cloudooo/tests/testOOGranulate.py
Modified: erp5/trunk/utils/cloudooo/cloudooo/CHANGES.txt
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/CHANGES.txt?rev=41840&r1=41839&r2=41840&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/CHANGES.txt [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/CHANGES.txt [utf8] Tue Dec 28 20:15:43 2010
@@ -1,7 +1,7 @@
1.0.10 (unreleased)
===================
- Refactor code to use json instead of jsonpickle.
- - Add getTableItem and getTableItemList for OOGranulate
+ - Add getTableItem, getTableItemList and getTableMatrix for OOGranulate
- Add getParagraphItemList and getParagraphItem for OOGranulate
- Add getImageItemList and getImage for OOGranulate
- Add OdfDocument
Modified: erp5/trunk/utils/cloudooo/cloudooo/granulate/oogranulate.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/granulate/oogranulate.py?rev=41840&r1=41839&r2=41840&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/granulate/oogranulate.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/granulate/oogranulate.py [utf8] Tue Dec 28 20:15:43 2010
@@ -123,6 +123,23 @@ class OOGranulate(object):
logger.error(e)
return None
+ def getTableMatrix(self, id):
+ """Returns the table as a matrix"""
+ row_list = self.document.parsed_content.xpath(
+ '//table:table[@table:name="%s"]/table:table-row' % id,
+ namespaces=self.document.parsed_content.nsmap)
+ if len(row_list) == 0:
+ return None
+
+ matrix = []
+ for row in row_list:
+ matrix_row = []
+ for cell in row.iterchildren():
+ matrix_row.append(''.join(cell.itertext()))
+ matrix.append(matrix_row)
+ return matrix
+
+
def getColumnItemList(self, file, table_id):
"""Return the list of columns in the form of (id, title)."""
raise NotImplementedError
Modified: erp5/trunk/utils/cloudooo/cloudooo/interfaces/granulate.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/interfaces/granulate.py?rev=41840&r1=41839&r2=41840&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/interfaces/granulate.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/interfaces/granulate.py [utf8] Tue Dec 28 20:15:43 2010
@@ -38,6 +38,9 @@ class ITableGranulator(Interface):
def getTableItem(id, format):
"""Returns the table into a new 'format' file."""
+ def getTableMatrix(self, id):
+ """Returns the table as a matrix."""
+
def getColumnItemList(file, table_id):
"""Return the list of columns in the form of (id, title)."""
Modified: erp5/trunk/utils/cloudooo/cloudooo/tests/testInterface.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/tests/testInterface.py?rev=41840&r1=41839&r2=41840&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/tests/testInterface.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/tests/testInterface.py [utf8] Tue Dec 28 20:15:43 2010
@@ -56,10 +56,11 @@ class TestInterface(unittest.TestCase):
def testITableGranulator(self):
"""Test if OOGranulate implements ITableGranulator"""
self.assertEquals(ITableGranulator.implementedBy(OOGranulate), True)
- method_list = ['getTableItem',
+ method_list = ['getColumnItemList',
'getLineItemList',
- 'getColumnItemList',
- 'getTableItemList']
+ 'getTableItem',
+ 'getTableItemList',
+ 'getTableMatrix']
self.assertEquals(ITableGranulator.names(), method_list)
def testITextGranulator(self):
Modified: erp5/trunk/utils/cloudooo/cloudooo/tests/testOOGranulate.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/tests/testOOGranulate.py?rev=41840&r1=41839&r2=41840&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/tests/testOOGranulate.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/tests/testOOGranulate.py [utf8] Tue Dec 28 20:15:43 2010
@@ -83,6 +83,24 @@ class TestOOGranulate(cloudoooTestCase):
table_data = oogranulate.getTableItem('NonExistentTable')
self.assertEquals(table_data, None)
+ def testGetTableMatriz(self):
+ """Test if getTableMatrix() returns the right matrix"""
+ data = open('./data/granulate_table_test.odt').read()
+ oogranulate = OOGranulate(data, 'odt')
+ matrix = [['Name', 'Phone', 'Email'],
+ ['Hugo', '+55 (22) 8888-8888', 'hugomaia at tiolive.com'],
+ ['Rafael', '+55 (22) 9999-9999', 'rafael at tiolive.com']]
+ self.assertEquals(matrix, oogranulate.getTableMatrix('Developers'))
+
+ matrix = [['Product', 'Price'],
+ ['Pizza', 'R$ 25,00'],
+ ['Petit Gateau', 'R$ 10,00'],
+ ['Feijoada', 'R$ 30,00']]
+ self.assertEquals(matrix, oogranulate.getTableMatrix('Prices'))
+
+ self.assertEquals(None, oogranulate.getTableMatrix('Non existent'))
+
+
def testGetColumnItemList(self):
"""Test if getColumnItemList() returns the right table columns list"""
self.assertRaises(NotImplementedError, self.oogranulate.getColumnItemList,
More information about the Erp5-report
mailing list