From 432678dbc1dd4f80203468d83bb0eb6c20ed5247 Mon Sep 17 00:00:00 2001 From: Aymeric Augustin Date: Sat, 2 May 2015 14:02:39 +0200 Subject: [PATCH] Simplified the implementation of timezone.is_aware/naive. --- django/utils/timezone.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/django/utils/timezone.py b/django/utils/timezone.py index 04108f658f..70fd5e3e48 100644 --- a/django/utils/timezone.py +++ b/django/utils/timezone.py @@ -331,20 +331,26 @@ def is_aware(value): """ Determines if a given datetime.datetime is aware. - The logic is described in Python's docs: + The concept is defined in Python's docs: http://docs.python.org/library/datetime.html#datetime.tzinfo + + Assuming value.tzinfo is either None or a proper datetime.tzinfo, + value.utcoffset() implements the appropriate logic. """ - return value.tzinfo is not None and value.tzinfo.utcoffset(value) is not None + return value.utcoffset() is not None def is_naive(value): """ Determines if a given datetime.datetime is naive. - The logic is described in Python's docs: + The concept is defined in Python's docs: http://docs.python.org/library/datetime.html#datetime.tzinfo + + Assuming value.tzinfo is either None or a proper datetime.tzinfo, + value.utcoffset() implements the appropriate logic. """ - return value.tzinfo is None or value.tzinfo.utcoffset(value) is None + return value.utcoffset() is None def make_aware(value, timezone=None, is_dst=None):