From 4d30756e722cafa40fa449e48c967eeebc58500a Mon Sep 17 00:00:00 2001 From: Leo Franchi Date: Wed, 11 Dec 2013 13:41:20 -0500 Subject: [PATCH] [manual] Add a manage.py command to import realm filters This must be run manually on staging after deployment. Once it has been run, it can be deleted. It only needs to be run on staging, not prod. (imported from commit 79252c23ba8cda93500a18aa7b02575f406dd379) --- .../commands/import_realm_filters.py | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 zerver/management/commands/import_realm_filters.py diff --git a/zerver/management/commands/import_realm_filters.py b/zerver/management/commands/import_realm_filters.py new file mode 100644 index 0000000000..8445721c50 --- /dev/null +++ b/zerver/management/commands/import_realm_filters.py @@ -0,0 +1,27 @@ +from __future__ import absolute_import + +from django.core.management.base import BaseCommand + +from zerver.models import RealmFilter, get_realm + +import logging + +class Command(BaseCommand): + help = """Imports realm filters to database""" + + def handle(self, *args, **options): + realm_filters = { + "zulip.com": [ + ("#(?P[0-9]{2,8})", "https://trac.zulip.net/ticket/%(id)s"), + ], + "mit.edu/zephyr_mirror": [], + } + + for domain, filters in realm_filters.iteritems(): + realm = get_realm(domain) + if realm is None: + logging.error("Failed to get realm for domain %s" % (domain,)) + continue + for filter in filters: + RealmFilter(realm=realm, pattern=filter[0], url_format_string=filter[1]).save() + logging.info("Created realm filter %s for %s" % (filter[0], domain))