Some changes to make it work in non-python2.7
This commit is contained in:
parent
f75bb9e65b
commit
3fd1215091
|
@ -48,10 +48,10 @@ class Mark:
|
|||
% (self.name, self.line+1, self.column+1)
|
||||
if snippet is not None:
|
||||
where += ":\n" + snippet
|
||||
try:
|
||||
return where.encode('utf-8')
|
||||
except AttributeError:
|
||||
if type(where) is str:
|
||||
return where
|
||||
else:
|
||||
return where.encode('utf-8')
|
||||
|
||||
class YAMLError(Exception):
|
||||
pass
|
||||
|
|
|
@ -16,13 +16,11 @@ def gen_marked_value(value, mark):
|
|||
if func not in set(('__init__', '__new__', '__getattribute__')):
|
||||
if func in set(('__eq__',)):
|
||||
# HACK to make marked dictionaries always work
|
||||
exec '''def {0}(self, *args):
|
||||
return self.value.{0}(*[arg.value if isinstance(arg, MarkedValue) else arg for arg in args])
|
||||
'''.format(func)
|
||||
exec (('def {0}(self, *args):\n'
|
||||
' return self.value.{0}(*[arg.value if isinstance(arg, MarkedValue) else arg for arg in args])').format(func))
|
||||
else:
|
||||
exec '''def {0}(self, *args, **kwargs):
|
||||
return self.value.{0}(*args, **kwargs)
|
||||
'''.format(func)
|
||||
exec (('def {0}(self, *args, **kwargs):\n'
|
||||
' return self.value.{0}(*args, **kwargs)\n').format(func))
|
||||
classcache[value.__class__] = Marked
|
||||
|
||||
return Marked(value, mark)
|
||||
|
|
Loading…
Reference in New Issue