diff options
author | Jonathan LaCour <jonathan@cleverdevil.org> | 2011-06-17 14:46:03 -0400 |
---|---|---|
committer | Jonathan LaCour <jonathan@cleverdevil.org> | 2011-06-17 14:46:03 -0400 |
commit | cc648f80c53dc5f053b57538c2df19bd4ff98216 (patch) | |
tree | 73e20155bc01e518e019801061fc8b661f98b191 /pecan/decorators.py | |
parent | f1bd2b237a33ec71caacecea617fd5ee95c33025 (diff) | |
download | pecan-cc648f80c53dc5f053b57538c2df19bd4ff98216.tar.gz |
Adding a feature for decorating methods to perform an action after a
commit is issued by the transaction hook.
Diffstat (limited to 'pecan/decorators.py')
-rw-r--r-- | pecan/decorators.py | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/pecan/decorators.py b/pecan/decorators.py index 27f1934..fcad924 100644 --- a/pecan/decorators.py +++ b/pecan/decorators.py @@ -97,13 +97,21 @@ def transactional(ignore_redirects=True): ''' def deco(f): - def wrap(*args, **kwargs): - return f(*args, **kwargs) - wrap.__transactional__ = True - wrap.__transactional_ignore_redirects__ = ignore_redirects - return wrap + _cfg(f)['transactional'] = True + _cfg(f)['transactional_ignore_redirects'] = ignore_redirects + return f return deco + +def after_commit(action): + ''' + ''' + def deco(func): + _cfg(func).setdefault('after_commit', []).append(action) + return func + return deco + + def accept_noncanonical(func): ''' Flags a controller method as accepting non-canoncial URLs. |