| Use native python instead of external pyxml dependency. Patch from Debian. |
| |
| https://bugs.gentoo.org/367733 |
| |
| |
| --- a/README.txt |
| +++ b/README.txt |
| @@ -15,9 +15,8 @@ universal and easy to use for desktop users and developers. |
| Requirements |
| ~~~~~~~~~~~~ |
| |
| - - Python >= 2.3 |
| - - wxPython 2.6 |
| - - python-xml (PyXML) |
| + - Python >= 2.4 |
| + - wxPython >= 2.6 |
| - gettext >= 0.14 |
| |
| |
| --- a/lib/xmltools.py |
| +++ b/lib/xmltools.py |
| @@ -20,7 +20,6 @@ |
| # |
| |
| import xml.dom.minidom |
| -import xml.dom.ext |
| |
| from lib import meta |
| |
| @@ -30,7 +29,7 @@ def _textData(element): |
| |
| text = '' |
| for node in element.childNodes: |
| - text = node.data |
| + text = node.data.strip() |
| |
| return text |
| |
| @@ -99,7 +98,7 @@ class RegisterConfigGenerator: |
| or '')) |
| |
| return doc |
| - |
| + |
| |
| def generatePlainDictConfig(**args): |
| """Generate configuration and return DOM object""" |
| @@ -113,10 +112,11 @@ def generatePlainDictConfig(**args): |
| def writePlainDictConfig(doc, path): |
| """Write XML file""" |
| |
| - fd = open(path, 'w') |
| - xml.dom.ext.PrettyPrint(doc, fd) |
| + import codecs |
| + fd = codecs.open(path, 'w', 'utf-8') |
| + doc.writexml(fd, addindent = " ", newl = "\n", encoding = "UTF-8") |
| fd.close() |
| - |
| + |
| |
| |
| class RegisterConfigParser: |
| @@ -144,32 +144,32 @@ class RegisterConfigParser: |
| |
| for nameElement in registerElement.getElementsByTagName('name'): |
| for node in nameElement.childNodes: |
| - name = node.data |
| + name = node.data.strip() |
| |
| for formatElement in registerElement.getElementsByTagName('format'): |
| for node in formatElement.childNodes: |
| - format = node.data |
| + format = node.data.strip() |
| |
| for pathElement in registerElement.getElementsByTagName('path'): |
| for node in pathElement.childNodes: |
| - path = node.data |
| + path = node.data.strip() |
| |
| for versionElement in registerElement.getElementsByTagName('version'): |
| for node in versionElement.childNodes: |
| version = node.data.strip() |
| |
| for authorElement in registerElement.getElementsByTagName('author'): |
| - authors.append({'name': authorElement.getAttribute('name'), |
| - 'email': authorElement.getAttribute('email')}) |
| + authors.append({'name': authorElement.getAttribute('name').strip(), |
| + 'email': authorElement.getAttribute('email').strip()}) |
| |
| for md5Element in registerElement.getElementsByTagName('md5'): |
| for node in md5Element.childNodes: |
| - md5 = node.data |
| + md5 = node.data.strip() |
| |
| for encodingElement in \ |
| registerElement.getElementsByTagName('encoding'): |
| for node in encodingElement.childNodes: |
| - encoding = node.data |
| + encoding = node.data.strip() |
| |
| for licenceElement in \ |
| registerElement.getElementsByTagName('licence'): |
| @@ -241,8 +241,9 @@ def generateIndexFile(index): |
| def writeIndexFile(doc, path): |
| """Write XML file""" |
| |
| - fd = open(path, 'wb') |
| - xml.dom.ext.PrettyPrint(doc, fd) |
| + import codecs |
| + fd = codecs.open(path, 'wb', 'utf-8') |
| + doc.writexml(fd, addindent = " ", newl = "\n", encoding = "UTF-8") |
| fd.close() |
| |
| |
| @@ -511,7 +512,8 @@ def generateMainConfig(props): |
| def writeConfig(doc, path): |
| """Write XML file""" |
| |
| - fd = open(path, 'w') |
| - xml.dom.ext.PrettyPrint(doc, fd) |
| + import codecs |
| + fd = codecs.open(path, 'w', 'utf-8') |
| + doc.writexml(fd, addindent = " ", newl = "\n", encoding = "UTF-8") |
| fd.close() |
| |
| --- a/opendict.py |
| +++ b/opendict.py |
| @@ -53,16 +53,6 @@ except ImportError: |
| print >> sys.stderr, "**" |
| sys.exit(1) |
| |
| - |
| -try: |
| - import xml.dom.ext |
| -except ImportError: |
| - print >> sys.stderr, "**" |
| - print >> sys.stderr, "** Error: Python/XML library not found" |
| - print >> sys.stderr, "** Please install python-xml (PyXML) to run OpenDict" |
| - print >> sys.stderr, "**" |
| - sys.exit(1) |
| - |
| # get_main_dir() returns the directory name of the script or the |
| # directory name of the exe |
| def get_main_dir(): |