diff options
author | Tomi Pieviläinen <tomi.pievilainen+launchpad@iki.fi> | 2012-02-19 01:18:56 +0200 |
---|---|---|
committer | Tomi Pieviläinen <tomi.pievilainen+launchpad@iki.fi> | 2012-02-19 01:18:56 +0200 |
commit | 87fdf7fc70e45d76422e1c321f18e9bf7f79744e (patch) | |
tree | a3eebb2cdf007e2d97a82af3dc62ae42d909e1d4 | |
parent | 464d448751bb632658ca74c380689fd746bbf7c1 (diff) | |
download | dateutil-87fdf7fc70e45d76422e1c321f18e9bf7f79744e.tar.gz |
Ismael Carnales sent a patch to add a time format + fixing format tests
-rw-r--r-- | dateutil/parser.py | 11 | ||||
-rwxr-xr-x | test.py | 37 |
2 files changed, 20 insertions, 28 deletions
diff --git a/dateutil/parser.py b/dateutil/parser.py index 506dac6..b3ac37b 100644 --- a/dateutil/parser.py +++ b/dateutil/parser.py @@ -449,6 +449,17 @@ class parser(object): newidx = info.hms(l[i]) if newidx is not None: idx = newidx + elif i == len_l and l[i-2] == ' ' and info.hms(l[i-3]) is not None: + # X h MM or X m SS + idx = info.hms(l[i-3]) + 1 + if idx == 1: + res.minute = int(value) + if value%1: + res.second = int(60*(value%1)) + elif idx == 2: + res.second, res.microsecond = \ + _parsems(value_repr) + i += 1 elif i+1 < len_l and l[i] == ':': # HH:MM[:SS[.ss]] res.hour = int(value) @@ -5,7 +5,6 @@ from __future__ import unicode_literals from six import StringIO, BytesIO, PY3 import unittest import calendar -import time import base64 import os @@ -425,16 +424,6 @@ class RRuleTest(unittest.TestCase): datetime(2004, 12, 27, 9, 0), datetime(2009, 12, 28, 9, 0)]) - def testYearlyByWeekNoAndWeekDay53(self): - self.assertEqual(list(rrule(YEARLY, - count=3, - byweekno=53, - byweekday=MO, - dtstart=parse("19970902T090000"))), - [datetime(1998, 12, 28, 9, 0), - datetime(2004, 12, 27, 9, 0), - datetime(2009, 12, 28, 9, 0)]) - def testYearlyByHour(self): self.assertEqual(list(rrule(YEARLY, count=3, @@ -3080,15 +3069,15 @@ class ParserTest(unittest.TestCase): self.assertEqual(parse("Sep 25 2003"), datetime(2003, 9, 25)) - def testDateCommandFormatStrip9(self): + def testDateCommandFormatStrip10(self): self.assertEqual(parse("Sep 2003", default=self.default), datetime(2003, 9, 25)) - def testDateCommandFormatStrip10(self): + def testDateCommandFormatStrip11(self): self.assertEqual(parse("Sep", default=self.default), datetime(2003, 9, 25)) - def testDateCommandFormatStrip11(self): + def testDateCommandFormatStrip12(self): self.assertEqual(parse("2003", default=self.default), datetime(2003, 9, 25)) @@ -3289,14 +3278,6 @@ class ParserTest(unittest.TestCase): self.assertEqual(parse("10/09/03", yearfirst=True), datetime(2010, 9, 3)) - def testDateWithSpace12(self): - self.assertEqual(parse("25 09 03"), - datetime(2003, 9, 25)) - - def testDateWithSpace13(self): - self.assertEqual(parse("25 09 03"), - datetime(2003, 9, 25)) - def testDateWithSpace1(self): self.assertEqual(parse("2003 09 25"), datetime(2003, 9, 25)) @@ -3345,10 +3326,6 @@ class ParserTest(unittest.TestCase): self.assertEqual(parse("25 09 03"), datetime(2003, 9, 25)) - def testDateWithSpace13(self): - self.assertEqual(parse("25 09 03"), - datetime(2003, 9, 25)) - def testStrangelyOrderedDate1(self): self.assertEqual(parse("03 25 Sep"), datetime(2003, 9, 25)) @@ -3369,14 +3346,18 @@ class ParserTest(unittest.TestCase): self.assertEqual(parse("10h36m28s", default=self.default), datetime(2003, 9, 25, 10, 36, 28)) - def testHourWithLettersStrip1(self): + def testHourWithLettersStrip2(self): self.assertEqual(parse("10h36m", default=self.default), datetime(2003, 9, 25, 10, 36)) - def testHourWithLettersStrip2(self): + def testHourWithLettersStrip3(self): self.assertEqual(parse("10h", default=self.default), datetime(2003, 9, 25, 10)) + def testHourWithLettersStrip4(self): + self.assertEqual(parse("10 h 36", default=self.default), + datetime(2003, 9, 25, 10, 36)) + def testHourAmPm1(self): self.assertEqual(parse("10h am", default=self.default), datetime(2003, 9, 25, 10)) |