From 1210f77604734732c720f13ce5b02102b439e409 Mon Sep 17 00:00:00 2001 From: Henrik Levkowetz Date: Sat, 7 Feb 2015 21:13:38 +0000 Subject: [PATCH] With django 1.7, standalone scripts need to call django.setup() before doing any operations involving models. Modified all scripts in bin/ and ietf/bin/ which seemed to need it. - Legacy-Id: 9017 --- bin/graph-models | 5 +++-- bin/test-crawl | 2 ++ ietf/bin/announce-header-change | 9 ++++++++- ietf/bin/create-charter-newrevisiondocevents | 4 +++- ietf/bin/dump-draft-info | 3 +++ ietf/bin/generate-draft-aliases | 5 ++++- ietf/bin/generate-wg-aliases | 3 +++ ietf/bin/iana-protocols-updates | 4 +++- ietf/bin/rfc-editor-queue-updates | 3 +++ 9 files changed, 32 insertions(+), 6 deletions(-) diff --git a/bin/graph-models b/bin/graph-models index 505733b1c..087ec3574 100755 --- a/bin/graph-models +++ b/bin/graph-models @@ -5,7 +5,8 @@ # Requires modelviz.py from # http://code.djangoproject.com/wiki/DjangoGraphviz # -PYTHONPATH=`dirname $PWD` +cd ${0%/*}/../ietf +PYTHONPATH=`dirname $PWD`:`dirname $PWD/..` export PYTHONPATH module=${PWD##*/} DJANGO_SETTINGS_MODULE=$module.settings @@ -18,4 +19,4 @@ do fi done modelviz.py $* $models > models.dot -dot -Tpng models.dot +dot -Tpng models.dot > models.png diff --git a/bin/test-crawl b/bin/test-crawl index 25eacf9a7..45074f2ce 100755 --- a/bin/test-crawl +++ b/bin/test-crawl @@ -7,6 +7,7 @@ basedir = os.path.abspath(os.path.join(os.path.dirname(__file__), "../")) sys.path = [ basedir ] + sys.path os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings") +import django import django.test from django.conf import settings @@ -74,6 +75,7 @@ def extract_html_urls(content): yield url +django.setup() client = django.test.Client() for url in initial_urls: diff --git a/ietf/bin/announce-header-change b/ietf/bin/announce-header-change index 1cc12fea0..cbdb504ef 100755 --- a/ietf/bin/announce-header-change +++ b/ietf/bin/announce-header-change @@ -1,7 +1,14 @@ #!/usr/bin/env python +import sys, os import datetime +# boilerplate +basedir = os.path.abspath(os.path.join(os.path.dirname(__file__), "../..")) +sys.path = [ basedir ] + sys.path +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings") + +import django from django.core import management from django.template.loader import render_to_string @@ -9,7 +16,7 @@ from ietf import settings from ietf.utils.mail import send_mail_preformatted from ietf.utils.mail import send_mail -management.setup_environ(settings) +django.setup() target_date=datetime.date(year=2014,month=1,day=24) diff --git a/ietf/bin/create-charter-newrevisiondocevents b/ietf/bin/create-charter-newrevisiondocevents index fbbd29e4b..acd3a066c 100755 --- a/ietf/bin/create-charter-newrevisiondocevents +++ b/ietf/bin/create-charter-newrevisiondocevents @@ -24,12 +24,14 @@ def warn(string): import re from datetime import datetime as Datetime +import django from django.conf import settings from ietf.utils.path import path as Path from ietf.doc.models import Document, NewRevisionDocEvent from ietf.person.models import Person +django.setup() system_entity = Person.objects.get(name="(System)") charterdir = Path(settings.CHARTER_PATH) @@ -60,4 +62,4 @@ for file in charterdir.files("charter-ietf-*.txt"): note("Created new NewRevisionDocEvent for %s-%s" % (name, rev)) except Document.DoesNotExist: warn("Document not found: '%s'; no NewRevisionDocEvent created for '%s'" % (name, fname)) - \ No newline at end of file + diff --git a/ietf/bin/dump-draft-info b/ietf/bin/dump-draft-info index c2008b7ef..ba2bc1894 100755 --- a/ietf/bin/dump-draft-info +++ b/ietf/bin/dump-draft-info @@ -10,11 +10,14 @@ progdir = os.path.dirname(sys.argv[0]) sys.path = [progdir+"/../../"] + sys.path os.environ["DJANGO_SETTINGS_MODULE"] = "ietf.settings" +import django from django.template import Template, Context from ietf.doc.models import Document from ietf.person.models import Person +django.setup() + drafts = Document.objects.filter(type="draft") ads = {} diff --git a/ietf/bin/generate-draft-aliases b/ietf/bin/generate-draft-aliases index a5f247561..0c5d9c62f 100755 --- a/ietf/bin/generate-draft-aliases +++ b/ietf/bin/generate-draft-aliases @@ -34,6 +34,7 @@ basedir = os.path.abspath(os.path.join(os.path.dirname(__file__), "../..")) sys.path = [ basedir ] + sys.path os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings") +import django from django.conf import settings from ietf.doc.models import Document @@ -41,6 +42,8 @@ from ietf.group.utils import get_group_chairs_emails, get_group_ads_emails from ietf.utils.aliases import * import time +django.setup() + def get_draft_ad_emails(draft): " Get AD email for the given draft, if any. " # If working group document, return current WG ADs @@ -148,4 +151,4 @@ if __name__ == '__main__': afile.close() vfile.close() - \ No newline at end of file + diff --git a/ietf/bin/generate-wg-aliases b/ietf/bin/generate-wg-aliases index 6475b8353..466688cdf 100755 --- a/ietf/bin/generate-wg-aliases +++ b/ietf/bin/generate-wg-aliases @@ -20,6 +20,7 @@ basedir = os.path.abspath(os.path.join(os.path.dirname(__file__), "../..")) sys.path = [ basedir ] + sys.path os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings") +import django from django.conf import settings from ietf.group.models import Group @@ -27,6 +28,8 @@ from ietf.group.utils import get_group_ads_emails, get_group_chairs_emails, get_ from ietf.person.models import Email from ietf.utils.aliases import * +django.setup() + # from secr/utils/group.py.. ACTIVE_STATES=['active', 'bof', 'proposed'] diff --git a/ietf/bin/iana-protocols-updates b/ietf/bin/iana-protocols-updates index be6c1874a..f3ee15f28 100755 --- a/ietf/bin/iana-protocols-updates +++ b/ietf/bin/iana-protocols-updates @@ -10,10 +10,12 @@ basedir = os.path.abspath(os.path.join(os.path.dirname(__file__), "../..")) sys.path = [ basedir ] + sys.path os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings") - +import django from django.conf import settings from ietf.sync.iana import * +django.setup() + def chunks(l, n): """Split list l up in chunks of max size n.""" return (l[i:i+n] for i in xrange(0, len(l), n)) diff --git a/ietf/bin/rfc-editor-queue-updates b/ietf/bin/rfc-editor-queue-updates index ae0976d15..213025226 100755 --- a/ietf/bin/rfc-editor-queue-updates +++ b/ietf/bin/rfc-editor-queue-updates @@ -11,9 +11,12 @@ sys.path = [ basedir ] + sys.path os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings") +import django from django.conf import settings from ietf.sync.rfceditor import * +django.setup() + syslog.syslog("Updating RFC Editor queue states from %s" % settings.RFC_EDITOR_QUEUE_URL) response = fetch_queue_xml(settings.RFC_EDITOR_QUEUE_URL)