summaryrefslogtreecommitdiff
path: root/tools/commitfest/update_archive_threads.py
blob: 19dd221fce10a9555f50af83a0ed9f4788d11cdc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/usr/bin/env python
#
# Update all attached mail threads from the archives.
#
# XXX: at some point we probably need to limit this so we don't hit all of them,
# at least not all of them all the time...
#

import os
import sys
import logging

# Set up for accessing django
sys.path.append(os.path.join(os.path.abspath(os.path.dirname(sys.argv[0])), '../../'))
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "pgcommitfest.settings")
import django
django.setup()

from django.db import connection

from pgcommitfest.commitfest.models import MailThread
from pgcommitfest.commitfest.ajax import refresh_single_thread

if __name__ == "__main__":
	debug = "--debug" in sys.argv

	# Logging always done to stdout, but we can turn on/off how much
	logging.basicConfig(format='%(asctime)s %(levelname)s: %(msg)s',
						level=debug and logging.DEBUG or logging.INFO,
						stream=sys.stdout)

	logging.debug("Checking for updated mail threads in the archives")
	for thread in MailThread.objects.filter(patches__commitfests__status__in=(1,2,3)).distinct():
		logging.debug("Checking %s in the archives" % thread.messageid)
		refresh_single_thread(thread)

	connection.close()
	logging.debug("Done.")