summaryrefslogtreecommitdiff
path: root/src/lxml/cssselect.py
diff options
context:
space:
mode:
authorscoder <none@none>2008-05-21 21:46:16 +0200
committerscoder <none@none>2008-05-21 21:46:16 +0200
commit3bec1ba00a8f316882bfc8f53d023fcfa4dbc351 (patch)
tree626a139e883b0316d44f773efc0cac47564df99f /src/lxml/cssselect.py
parent63022e8c2cea40edc4d45c9777e8d5dfacff9e79 (diff)
downloadpython-lxml-3bec1ba00a8f316882bfc8f53d023fcfa4dbc351.tar.gz
[svn r3699] r4257@delle: sbehnel | 2008-05-21 00:08:43 +0200
Py3 fixes and work-arounds --HG-- branch : trunk
Diffstat (limited to 'src/lxml/cssselect.py')
-rw-r--r--src/lxml/cssselect.py18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/lxml/cssselect.py b/src/lxml/cssselect.py
index c4a129c5..642244dd 100644
--- a/src/lxml/cssselect.py
+++ b/src/lxml/cssselect.py
@@ -42,16 +42,22 @@ class CSSSelector(etree.XPath):
##############################
## Token objects:
-class _UniToken(unicode):
+try:
+ _unicode = unicode
+except NameError:
+ # Python 3
+ _unicode = str
+
+class _UniToken(_unicode):
def __new__(cls, contents, pos):
- obj = unicode.__new__(cls, contents)
+ obj = _unicode.__new__(cls, contents)
obj.pos = pos
return obj
def __repr__(self):
return '%s(%s, %r)' % (
self.__class__.__name__,
- unicode.__repr__(self),
+ _unicode.__repr__(self),
self.pos)
class Symbol(_UniToken):
@@ -623,7 +629,8 @@ def parse(string):
stream.source = string
try:
return parse_selector_group(stream)
- except SelectorSyntaxError, e:
+ except SelectorSyntaxError:
+ e = sys.exc_info()[1]
e.args = tuple(["%s at %s -> %s" % (
e, stream.used, list(stream))])
raise
@@ -880,7 +887,8 @@ def tokenize_symbol(s, pos):
pos = match.start()
try:
result = result.decode('unicode_escape')
- except UnicodeDecodeError, e:
+ except UnicodeDecodeError:
+ e = sys.exc_info()[1]
raise SelectorSyntaxError(
"Bad symbol %r: %s" % (result, e))
return result, pos