Restore Python 3 compatibility.

This commit is contained in:
Georg Brandl 2011-10-09 23:23:45 +02:00
parent 9a4a3c9afa
commit d3c885d43c
2 changed files with 12 additions and 9 deletions

View File

@ -108,18 +108,15 @@ class DefinitionError(Exception):
def __init__(self, description): def __init__(self, description):
self.description = description self.description = description
def __unicode__(self):
return self.description
def __str__(self): def __str__(self):
return unicode(self).encode('utf-8') return unicode(self).encode('utf-8')
def __unicode__(self):
return self.description
class DefExpr(object): class DefExpr(object):
def __unicode__(self):
raise NotImplementedError()
def __eq__(self, other): def __eq__(self, other):
if type(self) is not type(other): if type(self) is not type(other):
return False return False
@ -167,6 +164,9 @@ class DefExpr(object):
def __str__(self): def __str__(self):
return unicode(self).encode('utf-8') return unicode(self).encode('utf-8')
def __unicode__(self):
raise NotImplementedError()
def __repr__(self): def __repr__(self):
return '<%s %s>' % (self.__class__.__name__, self) return '<%s %s>' % (self.__class__.__name__, self)
@ -495,15 +495,17 @@ class ClassDefExpr(NamedDefExpr):
def get_id(self): def get_id(self):
return self.name.get_id() return self.name.get_id()
def __unicode__(self, visibility='public'): def _tostring(self, visibility='public'):
buf = self.get_modifiers(visibility) buf = self.get_modifiers(visibility)
buf.append(unicode(self.name)) buf.append(unicode(self.name))
if self.bases: if self.bases:
buf.append(u':') buf.append(u':')
buf.append(u', '.join(base.__unicode__('private') buf.append(u', '.join(base._tostring('private')
for base in self.bases)) for base in self.bases))
return u' '.join(buf) return u' '.join(buf)
def __unicode__(self):
return self._tostring('public')
class DefinitionParser(object): class DefinitionParser(object):

View File

@ -280,7 +280,8 @@ class LaTeXTranslator(nodes.NodeVisitor):
def idescape(self, id): def idescape(self, id):
return unicode(id).translate(tex_replace_map).\ return unicode(id).translate(tex_replace_map).\
encode('ascii', 'backslashreplace').replace('\\', '_') encode('ascii', 'backslashreplace').decode('ascii').\
replace('\\', '_')
def generate_indices(self): def generate_indices(self):
def generate(content, collapsed): def generate(content, collapsed):