Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test_timeago_parse_input(self):
date = datetime.datetime(2016, 5, 27, 21, 22, 2)
# datetime string
input = '2016-05-27 21:22:02'
self.assertEqual(parser.parse(input), date)
input = '2016-5-27 21:22:2'
self.assertEqual(parser.parse(input), date)
input = '2016/05/27 21:22:02'
self.assertEqual(parser.parse(input), date)
input = '2016/5/27 21:22:02'
self.assertEqual(parser.parse(input), date)
date = datetime.datetime(2016, 5, 27, 0, 0, 0)
input = '2016/05/27'
self.assertEqual(parser.parse(input), date)
input = '2016-5-27'
self.assertEqual(parser.parse(input), date)
def test_timeago_parse_input(self):
date = datetime.datetime(2016, 5, 27, 21, 22, 2)
# datetime string
input = '2016-05-27 21:22:02'
self.assertEqual(parser.parse(input), date)
input = '2016-5-27 21:22:2'
self.assertEqual(parser.parse(input), date)
input = '2016/05/27 21:22:02'
self.assertEqual(parser.parse(input), date)
input = '2016/5/27 21:22:02'
self.assertEqual(parser.parse(input), date)
date = datetime.datetime(2016, 5, 27, 0, 0, 0)
input = '2016/05/27'
self.assertEqual(parser.parse(input), date)
input = '2016-5-27'
self.assertEqual(parser.parse(input), date)
input = '2016-05-27'
self.assertEqual(parser.parse(input), date)
today = dateimport.today()
date = datetime.datetime(
today.year, today.month, today.day, 12, 12, 12)
input = '12:12:12'
self.assertEqual(parser.parse(input), date)
def format(date, now=None, locale='en'):
'''
the entry method
'''
if not isinstance(date, timedelta):
if now is None:
now = datetime.now()
date = parser.parse(date)
now = parser.parse(now)
if date is None:
raise ParameterUnvalid('the parameter `date` should be datetime '
'/ timedelta, or datetime formated string.')
if now is None:
raise ParameterUnvalid('the parameter `now` should be datetime, '
'or datetime formated string.')
date = now - date
# the gap sec
diff_seconds = int(total_seconds(date))
# is ago or in
ago_in = 0
if diff_seconds < 0:
ago_in = 1 # date is later then now, is the time in future
diff_seconds *= -1 # chango to positive
def format(date, now=None, locale='en'):
'''
the entry method
'''
if not isinstance(date, timedelta):
if now is None:
now = datetime.now()
date = parser.parse(date)
now = parser.parse(now)
if date is None:
raise ParameterUnvalid('the parameter `date` should be datetime '
'/ timedelta, or datetime formated string.')
if now is None:
raise ParameterUnvalid('the parameter `now` should be datetime, '
'or datetime formated string.')
date = now - date
# the gap sec
diff_seconds = int(total_seconds(date))
# is ago or in
ago_in = 0
if diff_seconds < 0:
ago_in = 1 # date is later then now, is the time in future