From 3fd121509103cc6f917080f8e321cd40d4079bc0 Mon Sep 17 00:00:00 2001 From: ZyX Date: Sun, 10 Mar 2013 22:35:38 +0400 Subject: [PATCH] Some changes to make it work in non-python2.7 --- powerline/lint/markedjson/error.py | 6 +++--- powerline/lint/markedjson/markedvalue.py | 10 ++++------ 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/powerline/lint/markedjson/error.py b/powerline/lint/markedjson/error.py index 49cdda5e..a18a5db8 100644 --- a/powerline/lint/markedjson/error.py +++ b/powerline/lint/markedjson/error.py @@ -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 diff --git a/powerline/lint/markedjson/markedvalue.py b/powerline/lint/markedjson/markedvalue.py index a6a9e7eb..91a252de 100644 --- a/powerline/lint/markedjson/markedvalue.py +++ b/powerline/lint/markedjson/markedvalue.py @@ -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)