]> git.openstreetmap.org Git - osqa.git/blobdiff - forum/modules/decorators.py
Logs module import errors.
[osqa.git] / forum / modules / decorators.py
index 8fbee7e30d4b19c9475a77da0b682051e6753e86..c7c564030adafdb8263ca922e6eb85144625cda4 100644 (file)
@@ -100,6 +100,8 @@ def decorate(origin, needs_origin=True, mode=DecoratableObject.MODE_OVERRIDE):
     def decorator(fn):\r
         return fn\r
 \r
+    return decorator\r
+\r
 \r
 def _decorate_params(origin):\r
     return decorate(origin, mode=DecoratableObject.MODE_PARAMS)\r
@@ -110,3 +112,17 @@ def _decorate_result(origin):
     return decorate(origin, mode=DecoratableObject.MODE_RESULT)\r
 \r
 decorate.result = _decorate_result\r
+\r
+def _decorate_with(fn):\r
+    def decorator(origin):\r
+        if not isinstance(origin, DecoratableObject):\r
+            decoratable = DecoratableObject(origin)\r
+        else:\r
+            decoratable = origin\r
+\r
+        decoratable._decorate(fn, True, False)\r
+        return decoratable\r
+    return decorator\r
+\r
+\r
+decorate.withfn = _decorate_with
\ No newline at end of file