[Erp5-report] r41117 hugo.maia - in /erp5/trunk/utils/cloudooo/cloudooo: granulate/ tests/
nobody at svn.erp5.org
nobody at svn.erp5.org
Sat Dec 4 00:48:36 CET 2010
Author: hugo.maia
Date: Sat Dec 4 00:48:36 2010
New Revision: 41117
URL: http://svn.erp5.org?rev=41117&view=rev
Log:
Refactor getImageItemList. Remove all auxiliar methods.
Modified:
erp5/trunk/utils/cloudooo/cloudooo/granulate/oogranulate.py
erp5/trunk/utils/cloudooo/cloudooo/tests/testOOGranulate.py
Modified: erp5/trunk/utils/cloudooo/cloudooo/granulate/oogranulate.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/granulate/oogranulate.py?rev=41117&r1=41116&r2=41117&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/granulate/oogranulate.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/granulate/oogranulate.py [utf8] Sat Dec 4 00:48:36 2010
@@ -42,33 +42,6 @@ class OOGranulate(object):
def __init__(self, file, source_format):
self.document = OdfDocument(file, source_format)
- def _getElementsByTagName(self, xml_element, tag):
- """Returns a list with the xml elements of the given tag
-
- tag -- tag name with the namespace (e.g. namespace:tag_name)"""
- return xml_element.xpath('.//%s' % tag, namespaces=xml_element.nsmap)
-
- def _hasAncestor(self, xml_element, required_ancestor):
- """Verifies if xml_element have an ancestor tag at a maximum level.
-
- required_ancestor -- tag name without the namespace"""
- for ancestor in xml_element.iterancestors():
- actual_ancestor = ancestor.tag.split('}')[-1]
- if actual_ancestor == required_ancestor:
- return True
- return False
-
- def _getImageTitle(self, xml_element):
- """Returns, if exists, the title of the given xml image element"""
- if self._hasAncestor(xml_element, 'text-box'):
- draw_frame = xml_element.getparent()
- text_p = draw_frame.getparent()
- title = ''
- for word in text_p.itertext():
- title += word
- return title
- return ''
-
def getTableItemList(self, file):
"""Returns the list of table IDs in the form of (id, title)."""
raise NotImplementedError
@@ -83,12 +56,15 @@ class OOGranulate(object):
def getImageItemList(self):
"""Return a list of tuples with the id and title of image files"""
- xml_image_list = self._getElementsByTagName(self.document.parsed_content,
- 'draw:image')
+ xml_image_list = self.document.parsed_content.xpath('.//draw:image',
+ namespaces=self.document.parsed_content.nsmap)
+
image_list = []
- for image in xml_image_list:
- title = self._getImageTitle(image)
- id = image.values()[0].split('/')[-1]
+ for xml_image in xml_image_list:
+ title_list = xml_image.xpath('.//../../text() | .//../../*/text()',
+ namespaces=xml_image.nsmap)
+ title = ''.join(title_list)
+ id = xml_image.values()[0].split('/')[-1]
image_list.append((id, title))
return image_list
Modified: erp5/trunk/utils/cloudooo/cloudooo/tests/testOOGranulate.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/tests/testOOGranulate.py?rev=41117&r1=41116&r2=41117&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/tests/testOOGranulate.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/tests/testOOGranulate.py [utf8] Sat Dec 4 00:48:36 2010
@@ -39,33 +39,6 @@ class TestOOGranulate(cloudoooTestCase):
data = open('./data/granulate_test.odt').read()
self.oogranulate = OOGranulate(data, 'odt')
- def testGetElementsByTagName(self):
- """Test if _getElementsByTagName() returns right elements list"""
- element_list = self.oogranulate._getElementsByTagName(
- self.oogranulate.document.parsed_content,
- 'draw:image')
- self.assertEquals(len(element_list), 5)
- for element in element_list:
- self.assertTrue(element.tag.endswith('image'))
-
- def testHasAncertor(self):
- """_hasAncestor() should vefify if the elements has the ancestor or not"""
- image_list = self.oogranulate._getElementsByTagName(
- self.oogranulate.document.parsed_content,
- 'draw:image')
- self.assertFalse(self.oogranulate._hasAncestor(image_list[0], 'text-box'))
- self.assertTrue(self.oogranulate._hasAncestor(image_list[0], 'frame'))
- self.assertTrue(self.oogranulate._hasAncestor(image_list[2], 'text-box'))
-
- def testGetImageTitle(self):
- """_hasAncestor() should vefify if the elements has the ancestor or not"""
- image_list = self.oogranulate._getElementsByTagName(
- self.oogranulate.document.parsed_content,
- 'draw:image')
- self.assertEquals(self.oogranulate._getImageTitle(image_list[0]), '')
- self.assertEquals(self.oogranulate._getImageTitle(image_list[2]),
- 'Illustration 1: TioLive Logo')
-
def testgetTableItemList(self):
"""Test if getTableItemList() returns the right tables list"""
self.assertRaises(NotImplementedError, self.oogranulate.getTableItemList,
More information about the Erp5-report
mailing list