aboutsummaryrefslogtreecommitdiff
path: root/src/django_pgpmailman/decorators.py
diff options
context:
space:
mode:
authorJ08nY2017-08-15 00:06:27 +0200
committerJ08nY2017-08-15 00:06:27 +0200
commitba165c597fb7d7407eea609eeaff115c99645c6d (patch)
treee3b946472661a7ff395d8485d783b1664e84a4de /src/django_pgpmailman/decorators.py
parent9e33fdaea8eaf5825542254afb55f25c1a63fc6b (diff)
downloaddjango-pgpmailman-ba165c597fb7d7407eea609eeaff115c99645c6d.tar.gz
django-pgpmailman-ba165c597fb7d7407eea609eeaff115c99645c6d.tar.zst
django-pgpmailman-ba165c597fb7d7407eea609eeaff115c99645c6d.zip
Diffstat (limited to 'src/django_pgpmailman/decorators.py')
-rw-r--r--src/django_pgpmailman/decorators.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/django_pgpmailman/decorators.py b/src/django_pgpmailman/decorators.py
new file mode 100644
index 0000000..41e94da
--- /dev/null
+++ b/src/django_pgpmailman/decorators.py
@@ -0,0 +1,32 @@
+# -*- coding: utf-8 -*-
+# Copyright (C) 2012-2017 by the Free Software Foundation, Inc.
+#
+# This file is part of Postorius.
+#
+# Postorius is free software: you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free
+# Software Foundation, either version 3 of the License, or (at your option)
+# any later version.
+#
+# Postorius is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+# more details.
+#
+# You should have received a copy of the GNU General Public License along with
+# Postorius. If not, see <http://www.gnu.org/licenses/>.
+from django.http import Http404
+from six.moves.urllib_error import HTTPError
+
+from django_pgpmailman.plugin import get_pgp_plugin
+
+
+def list_view(fn):
+ def wrapper(request, list_id, *args, **kwargs):
+ try:
+ pgp_list = get_pgp_plugin().get_list(list_id)
+ except HTTPError:
+ raise Http404
+ return fn(request, pgp_list, *args, **kwargs)
+
+ return wrapper