summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2012-03-23 19:29:40 -0500
committerDan McGee <dan@archlinux.org>2012-03-23 19:54:40 -0500
commit90e08b4863dfaecafee5b151478bda4513b12e85 (patch)
treed25065edd39e1357ea0fd8b24ea86ce5630a8fb6 /packages
parentbc1ba4e95a3e572779eb8ba8a947e8d3ce165845 (diff)
Make all datetime objects fully timezone aware
This is most of the transition to Django 1.4 `USE_TZ = True`. We need to ensure we don't mix aware and non-aware datetime objects when dealing with datetimes in the code. Add a utc_now() helper method that we can use most places, and ensure there is always a timezone attached when necessary. Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'packages')
-rw-r--r--packages/management/commands/signoff_report.py5
-rw-r--r--packages/migrations/0007_auto__add_field_packagerelation_created.py5
-rw-r--r--packages/views/flag.py5
-rw-r--r--packages/views/signoff.py4
4 files changed, 11 insertions, 8 deletions
diff --git a/packages/management/commands/signoff_report.py b/packages/management/commands/signoff_report.py
index 3b67f518..ddf930db 100644
--- a/packages/management/commands/signoff_report.py
+++ b/packages/management/commands/signoff_report.py
@@ -17,12 +17,13 @@ from django.db.models import Count
from django.template import loader, Context
from collections import namedtuple
-from datetime import datetime, timedelta
+from datetime import timedelta
import logging
from operator import attrgetter
import sys
from main.models import Repo
+from main.utils import utc_now
from packages.models import Signoff
from packages.utils import get_signoff_groups
@@ -65,7 +66,7 @@ def generate_report(email, repo_name):
new_hours = 24
old_days = 14
- now = datetime.utcnow()
+ now = utc_now()
new_cutoff = now - timedelta(hours=new_hours)
old_cutoff = now - timedelta(days=old_days)
diff --git a/packages/migrations/0007_auto__add_field_packagerelation_created.py b/packages/migrations/0007_auto__add_field_packagerelation_created.py
index 37321fdb..b030909e 100644
--- a/packages/migrations/0007_auto__add_field_packagerelation_created.py
+++ b/packages/migrations/0007_auto__add_field_packagerelation_created.py
@@ -1,5 +1,6 @@
# encoding: utf-8
import datetime
+from pytz import utc
from south.db import db
from south.v2 import SchemaMigration
from django.db import models
@@ -7,7 +8,9 @@ from django.db import models
class Migration(SchemaMigration):
def forwards(self, orm):
- db.add_column('packages_packagerelation', 'created', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.utcnow()), keep_default=False)
+ old_date = datetime.datetime(2000, 1, 1)
+ old_date = old_date.replace(tzinfo=utc)
+ db.add_column('packages_packagerelation', 'created', self.gf('django.db.models.fields.DateTimeField')(default=old_date), keep_default=False)
def backwards(self, orm):
db.delete_column('packages_packagerelation', 'created')
diff --git a/packages/views/flag.py b/packages/views/flag.py
index c0990e8e..0d2f9009 100644
--- a/packages/views/flag.py
+++ b/packages/views/flag.py
@@ -1,5 +1,3 @@
-from datetime import datetime
-
from django import forms
from django.conf import settings
from django.contrib.auth.decorators import permission_required
@@ -12,6 +10,7 @@ from django.views.decorators.cache import never_cache
from ..models import FlagRequest
from main.models import Package
+from main.utils import utc_now
def flaghelp(request):
@@ -61,7 +60,7 @@ def flag(request, name, repo, arch):
@transaction.commit_on_success
def perform_updates():
- now = datetime.utcnow()
+ now = utc_now()
pkgs.update(flag_date=now)
# store our flag request
flag_request = FlagRequest(created=now,
diff --git a/packages/views/signoff.py b/packages/views/signoff.py
index e3daf0dd..cf00b0b9 100644
--- a/packages/views/signoff.py
+++ b/packages/views/signoff.py
@@ -1,4 +1,3 @@
-from datetime import datetime
from operator import attrgetter
from django import forms
@@ -13,6 +12,7 @@ from django.views.decorators.cache import never_cache
from django.views.generic.simple import direct_to_template
from main.models import Package, Arch, Repo
+from main.utils import utc_now
from ..models import SignoffSpecification, Signoff
from ..utils import (get_signoff_groups, approved_by_signoffs,
PackageSignoffGroup)
@@ -45,7 +45,7 @@ def signoff_package(request, name, repo, arch, revoke=False):
package, request.user, False)
except Signoff.DoesNotExist:
raise Http404
- signoff.revoked = datetime.utcnow()
+ signoff.revoked = utc_now()
signoff.save()
created = False
else: