diff options
Diffstat (limited to 'sleekxmpp/thirdparty/mini_dateutil.py')
-rw-r--r-- | sleekxmpp/thirdparty/mini_dateutil.py | 57 |
1 files changed, 31 insertions, 26 deletions
diff --git a/sleekxmpp/thirdparty/mini_dateutil.py b/sleekxmpp/thirdparty/mini_dateutil.py index d0d3f2ea..e751a448 100644 --- a/sleekxmpp/thirdparty/mini_dateutil.py +++ b/sleekxmpp/thirdparty/mini_dateutil.py @@ -108,7 +108,7 @@ except: def __init__(self, name, offset): self._name = name - self._offset = datetime.timedelta(seconds=offset) + self._offset = datetime.timedelta(minutes=offset) def utcoffset(self, dt): return self._offset @@ -154,7 +154,7 @@ except: absoff = offsetmins name = "UTC%s%02d:%02d" % (sign, int(absoff / 60), absoff % 60) - inst = tzoffset(offsetmins, name) + inst = tzoffset(name,offsetmins) _fixed_offset_tzs[offsetmins] = inst return _fixed_offset_tzs[offsetmins] @@ -166,32 +166,34 @@ except: (?P<month>[0-9]{2})?(?P=ymdsep)? (?P<day> [0-9]{2})? - (?: # time part... optional... at least hour must be specified - (?:T|\s+)? - (?P<hour>[0-9]{2}) - (?: - # minutes, separated with :, or none, from hours - (?P<hmssep>[:]?) - (?P<minute>[0-9]{2}) + (?P<time> + (?: # time part... optional... at least hour must be specified + (?:T|\s+)? + (?P<hour>[0-9]{2}) (?: - # same for seconds, separated with :, or none, from hours - (?P=hmssep) - (?P<second>[0-9]{2}) + # minutes, separated with :, or none, from hours + (?P<hmssep>[:]?) + (?P<minute>[0-9]{2}) + (?: + # same for seconds, separated with :, or none, from hours + (?P=hmssep) + (?P<second>[0-9]{2}) + )? )? - )? - - # fractions - (?: [,.] (?P<frac>[0-9]{1,10}))? - - # timezone, Z, +-hh or +-hh:?mm. MUST BE, but complain if not there. - ( - (?P<tzempty>Z) - | - (?P<tzh>[+-][0-9]{2}) - (?: :? # optional separator - (?P<tzm>[0-9]{2}) + + # fractions + (?: [,.] (?P<frac>[0-9]{1,10}))? + + # timezone, Z, +-hh or +-hh:?mm. MUST BE, but complain if not there. + ( + (?P<tzempty>Z) + | + (?P<tzh>[+-][0-9]{2}) + (?: :? # optional separator + (?P<tzm>[0-9]{2}) + )? )? - )? + ) )? $ """, re.X) # """ @@ -211,13 +213,16 @@ except: for key in vals: if vals[key] is None: vals[key] = def_vals.get(key, 0) - elif key not in ['ymdsep', 'hmssep', 'tzempty']: + elif key not in ['time', 'ymdsep', 'hmssep', 'tzempty']: vals[key] = int(vals[key]) year = vals['year'] month = vals['month'] day = vals['day'] + if m.group('time') is None: + return datetime.date(year, month, day) + h, min, s, us = None, None, None, 0 frac = 0 if m.group('tzempty') == None and m.group('tzh') == None: |