144 lines
4.2 KiB
Diff
144 lines
4.2 KiB
Diff
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():
|