diff options
| author | DasIch <dasdasich@gmail.com> | 2010-07-11 00:57:08 +0200 |
|---|---|---|
| committer | DasIch <dasdasich@gmail.com> | 2010-07-11 00:57:08 +0200 |
| commit | 69de288fb75fc12d161a8441be4fe1fd4477f775 (patch) | |
| tree | a3b7b7b4494e139d6f8b006747a0795814276f8c /tests/etree13/ElementTree.py | |
| parent | 5cc8cecdec5eb4181cffa1ca3b5c4081472970dd (diff) | |
| download | sphinx-69de288fb75fc12d161a8441be4fe1fd4477f775.tar.gz | |
Revert changes from the last commit which caused problems with 2.x
Diffstat (limited to 'tests/etree13/ElementTree.py')
| -rw-r--r-- | tests/etree13/ElementTree.py | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/tests/etree13/ElementTree.py b/tests/etree13/ElementTree.py index e50ad640..d3732504 100644 --- a/tests/etree13/ElementTree.py +++ b/tests/etree13/ElementTree.py @@ -1425,6 +1425,13 @@ class XMLParser(object): err.position = value.lineno, value.offset 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): # expand qname, and convert name string to ascii, if possible try: @@ -1433,28 +1440,30 @@ class XMLParser(object): name = key if "}" in name: name = "{" + name - self._names[key] + self._names[key] = name = self._fixtext(name) return name def _start(self, tag, attrib_in): fixname = self._fixname + fixtext = self._fixtext tag = fixname(tag) attrib = {} for key, value in attrib_in.items(): - attrib[fixname(key)] = value + attrib[fixname(key)] = fixtext(value) return self.target.start(tag, attrib) def _start_list(self, tag, attrib_in): fixname = self._fixname + fixtext = self._fixtext tag = fixname(tag) attrib = {} if attrib_in: for i in range(0, len(attrib_in), 2): - attrib[fixname(attrib_in[i])] = attrib_in[i+1] + attrib[fixname(attrib_in[i])] = fixtext(attrib_in[i+1]) return self.target.start(tag, attrib) def _data(self, text): - return self.target.data(text) + return self.target.data(self._fixtext(text)) def _end(self, tag): return self.target.end(self._fixname(tag)) |
