diff options
Diffstat (limited to 'budget/utils.py')
| -rw-r--r-- | budget/utils.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/budget/utils.py b/budget/utils.py index f4003eb..88b8580 100644 --- a/budget/utils.py +++ b/budget/utils.py @@ -1,5 +1,7 @@ import re from functools import wraps +import inspect + from flask import redirect, url_for, session, request from werkzeug.routing import HTTPException, RoutingException @@ -29,3 +31,12 @@ class Redirect303(HTTPException, RoutingException): def get_response(self, environ): return redirect(self.new_url, 303) + +def for_all_methods(decorator): + """Apply a decorator to all the methods of a class""" + def decorate(cls): + for name, method in inspect.getmembers(cls, inspect.ismethod): + setattr(cls, name, decorator(method)) + return cls + return decorate + |
