mercurial/util.py
changeset 18537 ae60735e37d2
parent 18326 614f769e6aa7
child 18603 2251b3184e6e
equal deleted inserted replaced
18536:ae645d4f084c 18537:ae60735e37d2
  1025 def parsedate(date, formats=None, bias={}):
  1025 def parsedate(date, formats=None, bias={}):
  1026     """parse a localized date/time and return a (unixtime, offset) tuple.
  1026     """parse a localized date/time and return a (unixtime, offset) tuple.
  1027 
  1027 
  1028     The date may be a "unixtime offset" string or in one of the specified
  1028     The date may be a "unixtime offset" string or in one of the specified
  1029     formats. If the date already is a (unixtime, offset) tuple, it is returned.
  1029     formats. If the date already is a (unixtime, offset) tuple, it is returned.
       
  1030 
       
  1031     >>> parsedate(' today ') == parsedate(\
       
  1032                                   datetime.date.today().strftime('%b %d'))
       
  1033     True
       
  1034     >>> parsedate( 'yesterday ') == parsedate((datetime.date.today() -\
       
  1035                                                datetime.timedelta(days=1)\
       
  1036                                               ).strftime('%b %d'))
       
  1037     True
  1030     """
  1038     """
  1031     if not date:
  1039     if not date:
  1032         return 0, 0
  1040         return 0, 0
  1033     if isinstance(date, tuple) and len(date) == 2:
  1041     if isinstance(date, tuple) and len(date) == 2:
  1034         return date
  1042         return date
  1035     if not formats:
  1043     if not formats:
  1036         formats = defaultdateformats
  1044         formats = defaultdateformats
  1037     date = date.strip()
  1045     date = date.strip()
       
  1046 
       
  1047     if date == _('today'):
       
  1048         date = datetime.date.today().strftime('%b %d')
       
  1049     elif date == _('yesterday'):
       
  1050         date = (datetime.date.today() -
       
  1051                 datetime.timedelta(days=1)).strftime('%b %d')
       
  1052 
  1038     try:
  1053     try:
  1039         when, offset = map(int, date.split(' '))
  1054         when, offset = map(int, date.split(' '))
  1040     except ValueError:
  1055     except ValueError:
  1041         # fill out defaults
  1056         # fill out defaults
  1042         now = makedate()
  1057         now = makedate()