Load signal handlers from an app instead of urllist
authorMagnus Hagander <magnus@hagander.net>
Sun, 14 Jun 2020 15:44:31 +0000 (17:44 +0200)
committerMagnus Hagander <magnus@hagander.net>
Fri, 3 Jul 2020 15:57:25 +0000 (17:57 +0200)
This is the place to load them to make sure they always load. This means
we can also now remove a hardcoded special varnish purging in the CVE
crawler script, because all saves including those from cron jobs will
now fire the signals and thus the automatic varnish purges.

pgweb/core/apps.py [new file with mode: 0644]
pgweb/security/management/commands/update_cve_links.py
pgweb/settings.py
pgweb/urls.py

diff --git a/pgweb/core/apps.py b/pgweb/core/apps.py
new file mode 100644 (file)
index 0000000..fc30eb7
--- /dev/null
@@ -0,0 +1,10 @@
+from django.apps import AppConfig, apps
+
+
+class CoreAppConfig(AppConfig):
+    name = 'pgweb.core'
+
+    def ready(self):
+        from pgweb.util.signals import register_basic_signal_handlers
+
+        register_basic_signal_handlers()
index b70c8f767fc1ff01f642645f8f899d672f27eb87..03def67b34f46c884c84ae212de0be31fe42abd0 100644 (file)
@@ -39,4 +39,3 @@ and have been made visible on the website.
 
 {0}
 """.format("\n".join(newly_visible)))
-                list(map(varnish_purge, SecurityPatch.purge_urls))
index 5de2054501b70027566c534282a78c5555dfb76b..44c02096624779d387fe9bafd1562271e3806cfe 100644 (file)
@@ -96,7 +96,7 @@ INSTALLED_APPS = [
     'django.contrib.admin',
     'django_markwhat',
     'django.contrib.staticfiles',
-    'pgweb.core',
+    'pgweb.core.apps.CoreAppConfig',
     'pgweb.mailqueue',
     'pgweb.account',
     'pgweb.news',
index a4d7f6892e463111cf30b7b116f14d65b8ea86ca..3d4d0ca62a7c0806e8dbe1397e3c4593583435f5 100644 (file)
@@ -1,8 +1,6 @@
 from django.conf.urls import include, url
 from django.views.generic import RedirectView
 
-from pgweb.util.signals import register_basic_signal_handlers
-
 import pgweb.contributors.views
 import pgweb.core.views
 import pgweb.docs.views
@@ -28,9 +26,6 @@ from pgweb.events.feeds import EventFeed
 from django.contrib import admin
 admin.autodiscover()
 
-# Register our save signal handlers
-register_basic_signal_handlers()
-
 urlpatterns = [
     url(r'^$', pgweb.core.views.home),
     url(r'^dyncss/(?P<css>base|docs).css$', pgweb.core.views.dynamic_css),