From f740a0711942f9e2824fb16da2b05c1cad9bd159 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Cholewi=C5=84ski?= Date: Fri, 10 Apr 2015 10:52:18 +0200 Subject: [PATCH] Python 3 support: exec syntax --- boltons/namedutils.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/boltons/namedutils.py b/boltons/namedutils.py index b01b9a1..89cb979 100644 --- a/boltons/namedutils.py +++ b/boltons/namedutils.py @@ -26,6 +26,7 @@ except ImportError: OrderedDict = dict from keyword import iskeyword as _iskeyword from operator import itemgetter as _itemgetter +from six import exec_ # Tiny templates @@ -175,7 +176,7 @@ def namedtuple(typename, field_names, verbose=False, rename=False): _property=property, _tuple=tuple) try: - exec class_definition in namespace + exec_(class_definition, namespace) except SyntaxError as e: raise SyntaxError(e.message + ':\n' + class_definition) result = namespace[typename] @@ -339,7 +340,7 @@ def namedlist(typename, field_names, verbose=False, rename=False): _property=property, _list=list) try: - exec class_definition in namespace + exec_(class_definition, namespace) except SyntaxError as e: raise SyntaxError(e.message + ':\n' + class_definition) result = namespace[typename]