Working book shop.
[prawokultury.git] / prawokultury / middleware.py
diff --git a/prawokultury/middleware.py b/prawokultury/middleware.py
new file mode 100755 (executable)
index 0000000..0911a69
--- /dev/null
@@ -0,0 +1,12 @@
+from honeypot.middleware import HoneypotViewMiddleware
+
+def honeypot_exempt(view):
+    view.honeypot_exempt = True
+    return view
+
+class ExemptableHoneypotViewMiddleware(HoneypotViewMiddleware):
+    def process_view(self, request, callback, callback_args, callback_kwargs):
+        if hasattr(callback, 'honeypot_exempt'):
+            return None
+        return super(ExemptableHoneypotViewMiddleware, self).process_view(
+            request, callback, callback_args, callback_kwargs)