diff options
author | Dan McGee <dan@archlinux.org> | 2012-03-24 01:29:40 +0100 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2012-03-24 01:54:40 +0100 |
commit | 90e08b4863dfaecafee5b151478bda4513b12e85 (patch) | |
tree | d25065edd39e1357ea0fd8b24ea86ce5630a8fb6 /mirrors/management/commands | |
parent | bc1ba4e95a3e572779eb8ba8a947e8d3ce165845 (diff) | |
download | archweb-90e08b4863dfaecafee5b151478bda4513b12e85.tar.gz archweb-90e08b4863dfaecafee5b151478bda4513b12e85.tar.xz |
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 'mirrors/management/commands')
-rw-r--r-- | mirrors/management/commands/mirrorcheck.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/mirrors/management/commands/mirrorcheck.py b/mirrors/management/commands/mirrorcheck.py index 8eb8b01..c2928e6 100644 --- a/mirrors/management/commands/mirrorcheck.py +++ b/mirrors/management/commands/mirrorcheck.py @@ -21,9 +21,11 @@ import sys import time from threading import Thread import types +from pytz import utc from Queue import Queue, Empty import urllib2 +from main.utils import utc_now from mirrors.models import MirrorUrl, MirrorLog logging.basicConfig( @@ -50,7 +52,7 @@ class Command(NoArgsCommand): def check_mirror_url(mirror_url): url = mirror_url.url + 'lastsync' logger.info("checking URL %s", url) - log = MirrorLog(url=mirror_url, check_time=datetime.utcnow()) + log = MirrorLog(url=mirror_url, check_time=utc_now()) try: start = time.time() result = urllib2.urlopen(url, timeout=10) @@ -61,6 +63,7 @@ def check_mirror_url(mirror_url): parsed_time = None try: parsed_time = datetime.utcfromtimestamp(int(data)) + parsed_time = parsed_time.replace(tzinfo=utc) except ValueError: # it is bad news to try logging the lastsync value; # sometimes we get a crazy-encoded web page. |