Removed XMLParser._fixtext which fixes several errors in the test suite

This commit is contained in:
Daniel Neuhäuser 2010-07-10 19:47:32 +02:00
parent 37db093428
commit a7ca488a8e
2 changed files with 5 additions and 14 deletions

View File

@ -1425,13 +1425,6 @@ class XMLParser(object):
err.position = value.lineno, value.offset err.position = value.lineno, value.offset
raise err raise err
def _fixtext(self, text):
# convert text string to ascii, if possible
try:
return text.encode("ascii")
except UnicodeError:
return text
def _fixname(self, key): def _fixname(self, key):
# expand qname, and convert name string to ascii, if possible # expand qname, and convert name string to ascii, if possible
try: try:
@ -1440,30 +1433,28 @@ class XMLParser(object):
name = key name = key
if "}" in name: if "}" in name:
name = "{" + name name = "{" + name
self._names[key] = name = self._fixtext(name) self._names[key]
return name return name
def _start(self, tag, attrib_in): def _start(self, tag, attrib_in):
fixname = self._fixname fixname = self._fixname
fixtext = self._fixtext
tag = fixname(tag) tag = fixname(tag)
attrib = {} attrib = {}
for key, value in attrib_in.items(): for key, value in attrib_in.items():
attrib[fixname(key)] = fixtext(value) attrib[fixname(key)] = value
return self.target.start(tag, attrib) return self.target.start(tag, attrib)
def _start_list(self, tag, attrib_in): def _start_list(self, tag, attrib_in):
fixname = self._fixname fixname = self._fixname
fixtext = self._fixtext
tag = fixname(tag) tag = fixname(tag)
attrib = {} attrib = {}
if attrib_in: if attrib_in:
for i in range(0, len(attrib_in), 2): for i in range(0, len(attrib_in), 2):
attrib[fixname(attrib_in[i])] = fixtext(attrib_in[i+1]) attrib[fixname(attrib_in[i])] = attrib_in[i+1]
return self.target.start(tag, attrib) return self.target.start(tag, attrib)
def _data(self, text): def _data(self, text):
return self.target.data(self._fixtext(text)) return self.target.data(text)
def _end(self, tag): def _end(self, tag):
return self.target.end(self._fixname(tag)) return self.target.end(self._fixname(tag))

View File

@ -258,7 +258,7 @@ class NslessParser(ET.XMLParser):
br = name.find('}') br = name.find('}')
if br > 0: if br > 0:
name = name[br+1:] name = name[br+1:]
self._names[key] = name = self._fixtext(name) self._names[key] = name
return name return name