This module dependency is replaced by ElementTree from the Python's Standard Library
Signed-off-by: Manuel Kaufmann <humi...@gmail.com> --- GetIABooksActivity.py | 1 - languagenames.py | 30 ++++++++---------------------- 2 files changed, 8 insertions(+), 23 deletions(-) diff --git a/GetIABooksActivity.py b/GetIABooksActivity.py index 8d20e70..a6a559d 100644 --- a/GetIABooksActivity.py +++ b/GetIABooksActivity.py @@ -595,7 +595,6 @@ class GetIABooksActivity(activity.Activity): self.bt_catalogs.set_active(True) def can_close(self): - self._lang_code_handler.close() if self.queryresults is not None: self.queryresults.cancel() self.queryresults = None diff --git a/languagenames.py b/languagenames.py index 644af8f..3b1da4c 100644 --- a/languagenames.py +++ b/languagenames.py @@ -16,7 +16,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -import libxml2 +from xml.etree import ElementTree import logging _ISO_639_XML_PATH = '/usr/share/xml/iso-codes/iso_639.xml' @@ -33,35 +33,21 @@ def singleton(object, instantiated=[]): class LanguageNames(object): def __init__(self): singleton(self) - try: - self._xmldoc = libxml2.parseFile(_ISO_639_XML_PATH) - self._cache = None - except libxml2.parserError: - self._xmldoc = None - return - - self._eroot = self._xmldoc.getRootElement() + self._xmldoc = ElementTree.parse(_ISO_639_XML_PATH) + self._cache = None - def close(self): - if self._xmldoc is not None: - self._xmldoc.freeDoc() + self._eroot = self._xmldoc.getroot() def get_full_language_name(self, code): if self._cache == None: self._cache = {} - for child in self._eroot.children: - if child.properties is not None: - lang_code = None - lang_name = None - for property in child.properties: - if property.get_name() == 'name': - lang_name = property.get_content() - elif property.get_name() == 'iso_639_1_code': - lang_code = property.get_content() + for child in self._eroot.getchildren(): + if child.attrib is not None: + lang_name = child.attrib.get('name', None) + lang_code = child.attrib.get('iso_639_1_code', None) if lang_code is not None and lang_name is not None: self._cache[lang_code] = lang_name - self._xmldoc.freeDoc() self._xmldoc = None return self._cache[code] -- 1.7.10.4 _______________________________________________ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel