mercurial/templatefuncs.py
changeset 37224 67efce231633
parent 37210 2a2ce93e12f4
child 37225 e70a90a72b80
equal deleted inserted replaced
37223:08e042f0a67c 37224:67efce231633
    32 )
    32 )
    33 
    33 
    34 evalrawexp = templateutil.evalrawexp
    34 evalrawexp = templateutil.evalrawexp
    35 evalfuncarg = templateutil.evalfuncarg
    35 evalfuncarg = templateutil.evalfuncarg
    36 evalboolean = templateutil.evalboolean
    36 evalboolean = templateutil.evalboolean
       
    37 evaldate = templateutil.evaldate
    37 evalinteger = templateutil.evalinteger
    38 evalinteger = templateutil.evalinteger
    38 evalstring = templateutil.evalstring
    39 evalstring = templateutil.evalstring
    39 evalstringliteral = templateutil.evalstringliteral
    40 evalstringliteral = templateutil.evalstringliteral
    40 
    41 
    41 # dict of template built-in functions
    42 # dict of template built-in functions
   371     The default is local date."""
   372     The default is local date."""
   372     if not (1 <= len(args) <= 2):
   373     if not (1 <= len(args) <= 2):
   373         # i18n: "localdate" is a keyword
   374         # i18n: "localdate" is a keyword
   374         raise error.ParseError(_("localdate expects one or two arguments"))
   375         raise error.ParseError(_("localdate expects one or two arguments"))
   375 
   376 
   376     date = evalfuncarg(context, mapping, args[0])
   377     date = evaldate(context, mapping, args[0],
   377     try:
   378                     # i18n: "localdate" is a keyword
   378         date = dateutil.parsedate(date)
   379                     _("localdate expects a date information"))
   379     except AttributeError:  # not str nor date tuple
       
   380         # i18n: "localdate" is a keyword
       
   381         raise error.ParseError(_("localdate expects a date information"))
       
   382     if len(args) >= 2:
   380     if len(args) >= 2:
   383         tzoffset = None
   381         tzoffset = None
   384         tz = evalfuncarg(context, mapping, args[1])
   382         tz = evalfuncarg(context, mapping, args[1])
   385         if isinstance(tz, bytes):
   383         if isinstance(tz, bytes):
   386             tzoffset, remainder = dateutil.parsetimezone(tz)
   384             tzoffset, remainder = dateutil.parsetimezone(tz)