summaryrefslogtreecommitdiff
path: root/lib/python2.7/site-packages/django/utils/timesince.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python2.7/site-packages/django/utils/timesince.py')
-rw-r--r--lib/python2.7/site-packages/django/utils/timesince.py64
1 files changed, 0 insertions, 64 deletions
diff --git a/lib/python2.7/site-packages/django/utils/timesince.py b/lib/python2.7/site-packages/django/utils/timesince.py
deleted file mode 100644
index 8fb0f64..0000000
--- a/lib/python2.7/site-packages/django/utils/timesince.py
+++ /dev/null
@@ -1,64 +0,0 @@
-from __future__ import unicode_literals
-
-import datetime
-
-from django.utils.html import avoid_wrapping
-from django.utils.timezone import is_aware, utc
-from django.utils.translation import ugettext, ungettext_lazy
-
-def timesince(d, now=None, reversed=False):
- """
- Takes two datetime objects and returns the time between d and now
- as a nicely formatted string, e.g. "10 minutes". If d occurs after now,
- then "0 minutes" is returned.
-
- Units used are years, months, weeks, days, hours, and minutes.
- Seconds and microseconds are ignored. Up to two adjacent units will be
- displayed. For example, "2 weeks, 3 days" and "1 year, 3 months" are
- possible outputs, but "2 weeks, 3 hours" and "1 year, 5 days" are not.
-
- Adapted from
- http://web.archive.org/web/20060617175230/http://blog.natbat.co.uk/archive/2003/Jun/14/time_since
- """
- chunks = (
- (60 * 60 * 24 * 365, ungettext_lazy('%d year', '%d years')),
- (60 * 60 * 24 * 30, ungettext_lazy('%d month', '%d months')),
- (60 * 60 * 24 * 7, ungettext_lazy('%d week', '%d weeks')),
- (60 * 60 * 24, ungettext_lazy('%d day', '%d days')),
- (60 * 60, ungettext_lazy('%d hour', '%d hours')),
- (60, ungettext_lazy('%d minute', '%d minutes'))
- )
- # Convert datetime.date to datetime.datetime for comparison.
- if not isinstance(d, datetime.datetime):
- d = datetime.datetime(d.year, d.month, d.day)
- if now and not isinstance(now, datetime.datetime):
- now = datetime.datetime(now.year, now.month, now.day)
-
- if not now:
- now = datetime.datetime.now(utc if is_aware(d) else None)
-
- delta = (d - now) if reversed else (now - d)
- # ignore microseconds
- since = delta.days * 24 * 60 * 60 + delta.seconds
- if since <= 0:
- # d is in the future compared to now, stop processing.
- return avoid_wrapping(ugettext('0 minutes'))
- for i, (seconds, name) in enumerate(chunks):
- count = since // seconds
- if count != 0:
- break
- result = avoid_wrapping(name % count)
- if i + 1 < len(chunks):
- # Now get the second item
- seconds2, name2 = chunks[i + 1]
- count2 = (since - (seconds * count)) // seconds2
- if count2 != 0:
- result += ugettext(', ') + avoid_wrapping(name2 % count2)
- return result
-
-def timeuntil(d, now=None):
- """
- Like timesince, but returns a string measuring the time until
- the given time.
- """
- return timesince(d, now, reversed=True)