summaryrefslogtreecommitdiff
path: root/pecan/decorators.py
diff options
context:
space:
mode:
Diffstat (limited to 'pecan/decorators.py')
-rw-r--r--pecan/decorators.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/pecan/decorators.py b/pecan/decorators.py
index be27df8..2938fc1 100644
--- a/pecan/decorators.py
+++ b/pecan/decorators.py
@@ -1,5 +1,8 @@
-from inspect import getargspec, getmembers, isclass, ismethod
-from util import _cfg
+from inspect import getargspec, getmembers, isclass, ismethod, isfunction
+
+import six
+
+from .util import _cfg
__all__ = [
'expose', 'transactional', 'accept_noncanonical', 'after_commit',
@@ -74,7 +77,10 @@ def transactional(ignore_redirects=True):
def deco(f):
if isclass(f):
- for meth in [m[1] for m in getmembers(f) if ismethod(m[1])]:
+ for meth in [
+ m[1] for m in getmembers(f)
+ if (isfunction if six.PY3 else ismethod)(m[1])
+ ]:
if getattr(meth, 'exposed', False):
_cfg(meth)['transactional'] = True
_cfg(meth)['transactional_ignore_redirects'] = _cfg(