comparison mercurial/util.py @ 18614:b2586e2cc67a

parsedate: understand "now" as a shortcut for the current time
author Augie Fackler <raf@durin42.com>
date Sat, 09 Feb 2013 15:39:22 -0600
parents 2251b3184e6e
children 4034b8d551b1
comparison
equal deleted inserted replaced
18613:1a2f4c633410 18614:b2586e2cc67a
1058 True 1058 True
1059 >>> parsedate( 'yesterday ') == parsedate((datetime.date.today() -\ 1059 >>> parsedate( 'yesterday ') == parsedate((datetime.date.today() -\
1060 datetime.timedelta(days=1)\ 1060 datetime.timedelta(days=1)\
1061 ).strftime('%b %d')) 1061 ).strftime('%b %d'))
1062 True 1062 True
1063 >>> now, tz = makedate()
1064 >>> strnow, strtz = parsedate('now')
1065 >>> (strnow - now) < 1
1066 True
1067 >>> tz == strtz
1068 True
1063 """ 1069 """
1064 if not date: 1070 if not date:
1065 return 0, 0 1071 return 0, 0
1066 if isinstance(date, tuple) and len(date) == 2: 1072 if isinstance(date, tuple) and len(date) == 2:
1067 return date 1073 return date
1068 if not formats: 1074 if not formats:
1069 formats = defaultdateformats 1075 formats = defaultdateformats
1070 date = date.strip() 1076 date = date.strip()
1071 1077
1078 if date == _('now'):
1079 return makedate()
1072 if date == _('today'): 1080 if date == _('today'):
1073 date = datetime.date.today().strftime('%b %d') 1081 date = datetime.date.today().strftime('%b %d')
1074 elif date == _('yesterday'): 1082 elif date == _('yesterday'):
1075 date = (datetime.date.today() - 1083 date = (datetime.date.today() -
1076 datetime.timedelta(days=1)).strftime('%b %d') 1084 datetime.timedelta(days=1)).strftime('%b %d')