#!/usr/bin/env python import datetime, os, sys import syslog # boilerplate basedir = os.path.abspath(os.path.join(os.path.dirname(__file__), "../..")) sys.path = [ basedir ] + sys.path os.environ["DJANGO_SETTINGS_MODULE"] = "ietf.settings" virtualenv_activation = os.path.join(basedir, "env", "bin", "activate_this.py") if os.path.exists(virtualenv_activation): execfile(virtualenv_activation, dict(__file__=virtualenv_activation)) syslog.openlog(os.path.basename(__file__), syslog.LOG_PID, syslog.LOG_USER) import django django.setup() from ietf.utils.log import logger try: from ietf.doc.expire import ( in_draft_expire_freeze, get_expired_drafts, expirable_draft, send_expire_notice_for_draft, expire_draft, clean_up_draft_files ) if not in_draft_expire_freeze(): syslog.syslog("Expiring drafts ...") for doc in get_expired_drafts(): # verify expirability -- it might have changed after get_expired_drafts() was run # (this whole loop took about 2 minutes on 04 Jan 2018) if expirable_draft(doc) and doc.expires < datetime.datetime.today() + datetime.timedelta(1): send_expire_notice_for_draft(doc) expire_draft(doc) syslog.syslog(" Expired draft %s-%s" % (doc.name, doc.rev)) syslog.syslog("Cleaning up draft files") clean_up_draft_files() except Exception as e: logger.error("Exception in expire-ids: %s" % e)