Added django.setup() to some additional scripts, as required under Django 1.7.

- Legacy-Id: 9069
This commit is contained in:
Henrik Levkowetz 2015-02-11 06:52:07 +00:00
parent cebffd36d8
commit f3b22aa300
20 changed files with 78 additions and 25 deletions

View file

@ -9,6 +9,8 @@ sys.path = [ basedir ] + sys.path
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings") os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings")
import django import django
django.setup()
from django.core import management from django.core import management
from django.template.loader import render_to_string from django.template.loader import render_to_string
@ -16,8 +18,6 @@ from ietf import settings
from ietf.utils.mail import send_mail_preformatted from ietf.utils.mail import send_mail_preformatted
from ietf.utils.mail import send_mail from ietf.utils.mail import send_mail
django.setup()
target_date=datetime.date(year=2014,month=1,day=24) target_date=datetime.date(year=2014,month=1,day=24)
send_mail(request = None, send_mail(request = None,

View file

@ -8,6 +8,9 @@ basedir = os.path.abspath(os.path.join(os.path.dirname(__file__), "../.."))
sys.path = [ basedir ] + sys.path sys.path = [ basedir ] + sys.path
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings") os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings")
import django
django.setup()
from ietf.group.models import Group from ietf.group.models import Group
from ietf.person.models import Person from ietf.person.models import Person
from ietf.name.models import SessionStatusName from ietf.name.models import SessionStatusName

View file

@ -25,13 +25,14 @@ import re
from datetime import datetime as Datetime from datetime import datetime as Datetime
import django import django
django.setup()
from django.conf import settings from django.conf import settings
from ietf.utils.path import path as Path from ietf.utils.path import path as Path
from ietf.doc.models import Document, NewRevisionDocEvent from ietf.doc.models import Document, NewRevisionDocEvent
from ietf.person.models import Person from ietf.person.models import Person
django.setup()
system_entity = Person.objects.get(name="(System)") system_entity = Person.objects.get(name="(System)")
charterdir = Path(settings.CHARTER_PATH) charterdir = Path(settings.CHARTER_PATH)

View file

@ -11,13 +11,13 @@ sys.path = [progdir+"/../../"] + sys.path
os.environ["DJANGO_SETTINGS_MODULE"] = "ietf.settings" os.environ["DJANGO_SETTINGS_MODULE"] = "ietf.settings"
import django import django
django.setup()
from django.template import Template, Context from django.template import Template, Context
from ietf.doc.models import Document from ietf.doc.models import Document
from ietf.person.models import Person from ietf.person.models import Person
django.setup()
drafts = Document.objects.filter(type="draft") drafts = Document.objects.filter(type="draft")
ads = {} ads = {}

View file

@ -8,7 +8,6 @@ basedir = os.path.abspath(os.path.join(os.path.dirname(__file__), "../.."))
sys.path = [ basedir ] + sys.path sys.path = [ basedir ] + sys.path
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings") os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings")
from optparse import OptionParser from optparse import OptionParser
parser = OptionParser() parser = OptionParser()
@ -17,9 +16,11 @@ parser.add_option("-t", "--to", dest="to",
options, args = parser.parse_args() options, args = parser.parse_args()
syslog.openlog(os.path.basename(__file__), syslog.LOG_PID, syslog.LOG_USER) syslog.openlog(os.path.basename(__file__), syslog.LOG_PID, syslog.LOG_USER)
import django
django.setup()
from ietf.sync.mails import email_discrepancies from ietf.sync.mails import email_discrepancies
receivers = ["iesg-secretary@ietf.org"] receivers = ["iesg-secretary@ietf.org"]

View file

@ -5,9 +5,11 @@ import syslog
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings") os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings")
syslog.openlog(os.path.basename(__file__), syslog.LOG_PID, syslog.LOG_USER) syslog.openlog(os.path.basename(__file__), syslog.LOG_PID, syslog.LOG_USER)
import django
django.setup()
from ietf.doc.expire import * from ietf.doc.expire import *
if not in_draft_expire_freeze(): if not in_draft_expire_freeze():

View file

@ -7,6 +7,9 @@ os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings")
syslog.openlog(os.path.basename(__file__), syslog.LOG_PID, syslog.LOG_USER) syslog.openlog(os.path.basename(__file__), syslog.LOG_PID, syslog.LOG_USER)
import django
django.setup()
from ietf.doc.lastcall import * from ietf.doc.lastcall import *
drafts = get_expired_last_calls() drafts = get_expired_last_calls()

View file

@ -8,6 +8,9 @@ os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings")
syslog.openlog(os.path.basename(__file__), syslog.LOG_PID, syslog.LOG_USER) syslog.openlog(os.path.basename(__file__), syslog.LOG_PID, syslog.LOG_USER)
import django
django.setup()
from ietf.person.models import Person from ietf.person.models import Person
from ietf.submit.utils import expirable_submissions, expire_submission from ietf.submit.utils import expirable_submissions, expire_submission

View file

@ -27,6 +27,9 @@ import time
import warnings import warnings
warnings.filterwarnings('ignore', message='the sets module is deprecated', append=True) warnings.filterwarnings('ignore', message='the sets module is deprecated', append=True)
import django
django.setup()
from django.conf import settings from django.conf import settings
from ietf.utils.path import path as Path from ietf.utils.path import path as Path

View file

@ -33,6 +33,8 @@ sys.path = [ basedir ] + sys.path
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings") os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings")
import django import django
django.setup()
from django.conf import settings from django.conf import settings
from ietf.doc.models import Document from ietf.doc.models import Document
@ -40,8 +42,6 @@ from ietf.group.utils import get_group_chairs_emails, get_group_ads_emails
from ietf.utils.aliases import * from ietf.utils.aliases import *
import time import time
django.setup()
def get_draft_ad_emails(draft): def get_draft_ad_emails(draft):
" Get AD email for the given draft, if any. " " Get AD email for the given draft, if any. "
# If working group document, return current WG ADs # If working group document, return current WG ADs

View file

@ -21,14 +21,14 @@ sys.path = [ basedir ] + sys.path
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings") os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings")
import django import django
django.setup()
from django.conf import settings from django.conf import settings
from ietf.group.models import Group from ietf.group.models import Group
from ietf.group.utils import get_group_ads_emails, get_group_chairs_emails, get_area_ads_emails, get_area_chairs_emails from ietf.group.utils import get_group_ads_emails, get_group_chairs_emails, get_area_ads_emails, get_area_chairs_emails
from ietf.utils.aliases import dump_sublist from ietf.utils.aliases import dump_sublist
django.setup()
# from secr/utils/group.py.. # from secr/utils/group.py..
ACTIVE_STATES=['active', 'bof', 'proposed'] ACTIVE_STATES=['active', 'bof', 'proposed']

View file

@ -8,6 +8,8 @@ basedir = os.path.abspath(os.path.join(os.path.dirname(__file__), "../.."))
sys.path = [ basedir ] + sys.path sys.path = [ basedir ] + sys.path
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings") os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings")
import django
django.setup()
from django.conf import settings from django.conf import settings
from optparse import OptionParser from optparse import OptionParser

View file

@ -11,11 +11,11 @@ sys.path = [ basedir ] + sys.path
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings") os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings")
import django import django
django.setup()
from django.conf import settings from django.conf import settings
from ietf.sync.iana import * from ietf.sync.iana import *
django.setup()
def chunks(l, n): def chunks(l, n):
"""Split list l up in chunks of max size n.""" """Split list l up in chunks of max size n."""
return (l[i:i+n] for i in xrange(0, len(l), n)) return (l[i:i+n] for i in xrange(0, len(l), n))

View file

@ -11,6 +11,9 @@ os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings")
syslog.openlog(os.path.basename(__file__), syslog.LOG_PID, syslog.LOG_USER) syslog.openlog(os.path.basename(__file__), syslog.LOG_PID, syslog.LOG_USER)
import django
django.setup()
from ietf.sync.iana import * from ietf.sync.iana import *
from ietf.doc.models import Document from ietf.doc.models import Document

View file

@ -4,6 +4,9 @@ import datetime, os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings") os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings")
import django
django.setup()
from ietf.doc.expire import get_soon_to_expire_drafts, send_expire_warning_for_draft from ietf.doc.expire import get_soon_to_expire_drafts, send_expire_warning_for_draft

View file

@ -11,6 +11,8 @@ basedir = os.path.abspath(os.path.join(os.path.dirname(__file__), "../.."))
sys.path = [ basedir ] + sys.path sys.path = [ basedir ] + sys.path
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings") os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings")
import django
django.setup()
from django.conf import settings from django.conf import settings
from optparse import OptionParser from optparse import OptionParser

View file

@ -10,13 +10,12 @@ basedir = os.path.abspath(os.path.join(os.path.dirname(__file__), "../.."))
sys.path = [ basedir ] + sys.path sys.path = [ basedir ] + sys.path
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings") os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings")
import django import django
django.setup()
from django.conf import settings from django.conf import settings
from ietf.sync.rfceditor import * from ietf.sync.rfceditor import *
django.setup()
syslog.syslog("Updating RFC Editor queue states from %s" % settings.RFC_EDITOR_QUEUE_URL) syslog.syslog("Updating RFC Editor queue states from %s" % settings.RFC_EDITOR_QUEUE_URL)
response = fetch_queue_xml(settings.RFC_EDITOR_QUEUE_URL) response = fetch_queue_xml(settings.RFC_EDITOR_QUEUE_URL)

View file

@ -11,6 +11,9 @@ os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings")
syslog.openlog(os.path.basename(__file__), syslog.LOG_PID, syslog.LOG_LOCAL0) syslog.openlog(os.path.basename(__file__), syslog.LOG_PID, syslog.LOG_LOCAL0)
import django
django.setup()
from ietf.group.mails import * from ietf.group.mails import *
today = datetime.date.today() today = datetime.date.today()

View file

@ -4,13 +4,15 @@ import datetime, os, sys
import syslog import syslog
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings") os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ietf.settings")
syslog.openlog(os.path.basename(__file__), syslog.LOG_PID, syslog.LOG_USER)
import django
django.setup()
from ietf.utils.mail import smtp_error_logging from ietf.utils.mail import smtp_error_logging
from smtplib import SMTPException from smtplib import SMTPException
syslog.openlog(os.path.basename(__file__), syslog.LOG_PID, syslog.LOG_USER)
if len(sys.argv) != 2 or sys.argv[1] not in ('all', 'rsync', 'specific'): if len(sys.argv) != 2 or sys.argv[1] not in ('all', 'rsync', 'specific'):
print "USAGE: %s <all | specific>" % os.path.basename(__file__) print "USAGE: %s <all | specific>" % os.path.basename(__file__)
print "'all' means all not sent" print "'all' means all not sent"

View file

@ -34,6 +34,7 @@
import socket, re, os, time, importlib import socket, re, os, time, importlib
import warnings import warnings
import coverage
from django.conf import settings from django.conf import settings
from django.template import TemplateDoesNotExist from django.template import TemplateDoesNotExist
@ -186,6 +187,9 @@ def save_test_results(failures, test_labels):
class IetfTestRunner(DiscoverRunner): class IetfTestRunner(DiscoverRunner):
def test_code_coverage(self):
pass
def run_tests(self, test_labels, extra_tests=None, **kwargs): def run_tests(self, test_labels, extra_tests=None, **kwargs):
# Tests that involve switching back and forth between the real # Tests that involve switching back and forth between the real
# database and the test database are way too dangerous to run # database and the test database are way too dangerous to run
@ -203,11 +207,20 @@ class IetfTestRunner(DiscoverRunner):
old_destroy = connection.creation.__class__.destroy_test_db old_destroy = connection.creation.__class__.destroy_test_db
connection.creation.__class__.destroy_test_db = safe_destroy_0_1 connection.creation.__class__.destroy_test_db = safe_destroy_0_1
check_coverage = not test_labels do_template_coverage = not test_labels
do_url_coverage = not test_labels
if check_coverage: do_code_coverage = True
if do_template_coverage:
settings.TEMPLATE_LOADERS = ('ietf.utils.test_runner.template_coverage_loader',) + settings.TEMPLATE_LOADERS settings.TEMPLATE_LOADERS = ('ietf.utils.test_runner.template_coverage_loader',) + settings.TEMPLATE_LOADERS
if do_url_coverage:
settings.MIDDLEWARE_CLASSES = ('ietf.utils.test_runner.RecordUrlsMiddleware',) + settings.MIDDLEWARE_CLASSES settings.MIDDLEWARE_CLASSES = ('ietf.utils.test_runner.RecordUrlsMiddleware',) + settings.MIDDLEWARE_CLASSES
if do_code_coverage:
import ietf.settings as config
sources = [ os.path.dirname(config.__file__), ]
code_coverage = coverage.coverage(source=sources, cover_pylib=False,
omit = ['^0*'])
code_coverage.start()
if not test_labels: # we only want to run our own tests if not test_labels: # we only want to run our own tests
test_labels = [app for app in settings.INSTALLED_APPS if app.startswith("ietf")] test_labels = [app for app in settings.INSTALLED_APPS if app.startswith("ietf")]
@ -230,10 +243,20 @@ class IetfTestRunner(DiscoverRunner):
finally: finally:
smtpd_driver.stop() smtpd_driver.stop()
if check_coverage and not failures: if do_template_coverage and not failures:
check_template_coverage(self.verbosity) check_template_coverage(self.verbosity)
if do_url_coverage and not failures:
check_url_coverage(self.verbosity) check_url_coverage(self.verbosity)
if do_code_coverage and not failures:
code_coverage.stop()
code_coverage.save()
code_coverage_pct = code_coverage.report(file="coverage.txt")
print("Code coverage: %6.3f%%. Details written to coverage.txt" % code_coverage_pct)
# with open("sysinfo.txt", "w") as file:
# import pprint
# pprint.pprint(code_coverage.sysinfo(), file)
# print("Sysinfo written to sysinfo.txt")
if (do_template_coverage or do_url_coverage or do_code_coverage) and not failures:
print "0 test failures - coverage shown above" print "0 test failures - coverage shown above"
save_test_results(failures, test_labels) save_test_results(failures, test_labels)