52 lines
1.5 KiB
Python
Executable file
52 lines
1.5 KiB
Python
Executable file
#!/usr/bin/env python
|
|
# -*- Python -*-
|
|
|
|
"""
|
|
This script looks at document timestamps going back three years, and if it finds
|
|
ambiguous timestamps, shifts them backwards one hour in order to disambiguate
|
|
them.
|
|
"""
|
|
|
|
import os, sys
|
|
import datetime
|
|
import pytz
|
|
|
|
filename = os.path.abspath(__file__)
|
|
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))
|
|
|
|
import django
|
|
django.setup()
|
|
|
|
from django.conf import settings
|
|
from ietf.doc.models import Document, DocEvent
|
|
|
|
now = datetime.datetime.now()
|
|
then = now - datetime.timedelta(days=365*3)
|
|
|
|
for d in Document.objects.filter(time__gt=then).order_by('-time'):
|
|
tz = pytz.timezone(settings.TIME_ZONE)
|
|
try:
|
|
t = tz.localize(d.time, is_dst=None)
|
|
except pytz.AmbiguousTimeError as e:
|
|
orig = d.time
|
|
d.time = d.time - datetime.timedelta(minutes=60)
|
|
print "%s:\n changed %s --> %s" % (d, orig, d.time)
|
|
d.save()
|
|
|
|
for d in DocEvent.objects.filter(time__gt=then).order_by('-time'):
|
|
tz = pytz.timezone(settings.TIME_ZONE)
|
|
try:
|
|
t = tz.localize(d.time, is_dst=None)
|
|
except pytz.AmbiguousTimeError as e:
|
|
orig = d.time
|
|
d.time = d.time - datetime.timedelta(minutes=60)
|
|
print "%s:\n changed %s --> %s" % (d, orig, d.time)
|
|
d.save()
|
|
|