Example #1
0
    def test_finding_no_language_when_enabled_should_redetect(self):
        dp = DateParser(allow_redetect_language=True)
        self.assertEqual(datetime(2014, 8, 13).date(),
                         dp.parse('13 Ago, 2014').date())

        self.assertEqual(datetime(2014, 8, 11).date(),
                         dp.parse(u'11 Ağustos, 2014').date())
Example #2
0
    def test_finding_no_language_when_not_seen_before_should_raise_error(self):
        dp = DateParser()
        self.assertEqual(datetime(2014, 8, 13).date(),
                         dp.parse('13 Ago, 2014').date())

        with self.assertRaises(LanguageWasNotSeenBeforeError):
            dp.parse(u'11 Ağustos, 2014')
Example #3
0
    def test_finding_no_language_when_enabled_should_redetect(self):
        dp = DateParser(allow_redetect_language=True)
        self.assertEqual(datetime(2014, 8, 13).date(),
                         dp.parse('13 Ago, 2014').date())

        self.assertEqual(datetime(2014, 8, 11).date(),
                         dp.parse(u'11 Ağustos, 2014').date())
Example #4
0
    def test_finding_no_language_should_work_for_numeric_dates(self):
        dp = DateParser()
        self.assertEqual(datetime(2014, 8, 13).date(),
                         dp.parse('13 Ago, 2014').date())

        parsed_date = dp.parse(u'13/08/2014')
        self.assertEqual(datetime(2014, 8, 13).date(), parsed_date.date())
Example #5
0
    def test_finding_no_language_should_work_for_numeric_dates(self):
        dp = DateParser()
        self.assertEqual(datetime(2014, 8, 13).date(),
                         dp.parse('13 Ago, 2014').date())

        parsed_date = dp.parse(u'13/08/2014')
        self.assertEqual(datetime(2014, 8, 13).date(), parsed_date.date())
    def test_finding_no_language_when_not_seen_before_should_raise_error(self):
        dp = DateParser()
        self.assertEqual(
            datetime(2014, 8, 13).date(),
            dp.parse('13 Ago, 2014').date())

        with self.assertRaises(LanguageWasNotSeenBeforeError):
            dp.parse(u'11 Ağustos, 2014')
Example #7
0
    def test_finding_no_language_when_not_seen_before_should_raise_error(self):
        """ This test depends on the defined order of the languages and needs to be rewritten """
        dp = DateParser()
        self.assertEqual(datetime(2014, 8, 13).date(),
                         dp.parse("13 Srpen, 2014").date())

        with self.assertRaises(ValueError):
            dp.parse('11 Ağustos, 2014')
Example #8
0
    def test_should_not_allow_multiple_languages_by_default(self):
        dates_in_spanish = [
            (u'13 Ago, 2014', datetime(2014, 8, 13)),
            (u'11 Marzo, 2014', datetime(2014, 3, 11)),
            (u'13 Septiembre, 2014', datetime(2014, 9, 13)),
        ]
        dp = DateParser()

        for date_string, correct_date in dates_in_spanish:
            parsed_date = dp.parse(date_string, None)
            self.assertEqual(correct_date.date(), parsed_date.date())

        with self.assertRaisesRegexp(ValueError, 'Invalid date'):
            portuguese_date = u'13 Setembro, 2014'
            dp.parse(portuguese_date, None)
Example #9
0
    def test_should_not_allow_multiple_languages_by_default(self):
        dates_in_spanish = [
            (u'13 Ago, 2014', datetime(2014, 8, 13)),
            (u'11 Marzo, 2014', datetime(2014, 3, 11)),
            (u'13 Septiembre, 2014', datetime(2014, 9, 13)),
        ]
        dp = DateParser()

        for date_string, correct_date in dates_in_spanish:
            parsed_date = dp.parse(date_string)
            self.assertEqual(correct_date.date(), parsed_date.date())

        with self.assertRaisesRegexp(ValueError, 'Invalid date'):
            portuguese_date = u'13 Setembro, 2014'
            dp.parse(portuguese_date)
Example #10
0
    def test_it_dates_with_format(self):
        parser = DateParser()
        date = parser.parse('14 giu 13', date_format='%y %B %d')
        self.assertEqual(date.year, 2014)
        self.assertEqual(date.month, 6)
        self.assertEqual(date.day, 13)

        date = parser.parse('14_luglio_15', date_format='%y_%b_%d')
        self.assertEqual(date.year, 2014)
        self.assertEqual(date.month, 7)
        self.assertEqual(date.day, 15)

        date = parser.parse('14_LUGLIO_15', date_format='%y_%b_%d')
        self.assertEqual(date.year, 2014)
        self.assertEqual(date.month, 7)
        self.assertEqual(date.day, 15)
Example #11
0
    def test_it_dates_with_format(self):
        parser = DateParser()
        date = parser.parse('14 giu 13', date_format='%y %B %d')
        self.assertEqual(date.year, 2014)
        self.assertEqual(date.month, 6)
        self.assertEqual(date.day, 13)

        date = parser.parse('14_luglio_15', date_format='%y_%b_%d')
        self.assertEqual(date.year, 2014)
        self.assertEqual(date.month, 7)
        self.assertEqual(date.day, 15)

        date = parser.parse('14_LUGLIO_15', date_format='%y_%b_%d')
        self.assertEqual(date.year, 2014)
        self.assertEqual(date.month, 7)
        self.assertEqual(date.day, 15)
Example #12
0
    def test_ro_dates(self):
        parser = DateParser()
        date_fixtures = [
            ('13 iunie 2013', datetime(2013, 6, 13)),
            ('14 aprilie 2014', datetime(2014, 4, 14)),
            ('18 martie 2012', datetime(2012, 3, 18)),
        ]

        for dt_string, correct_date in date_fixtures:
            parsed = parser.parse(dt_string)
            self.assertEquals(correct_date.date(), parsed.date())
    def test_ro_dates(self):
        parser = DateParser()
        date_fixtures = [
            ('13 iunie 2013', datetime(2013, 6, 13)),
            ('14 aprilie 2014', datetime(2014, 4, 14)),
            ('18 martie 2012', datetime(2012, 3, 18)),
        ]

        for dt_string, correct_date in date_fixtures:
            parsed = parser.parse(dt_string)
            self.assertEquals(correct_date.date(), parsed.date())
Example #14
0
    def test_should_not_assume_language_prematurely(self):
        dp = DateParser()
        date_fixtures = [
            (u'07/07/2014', datetime(2014, 7, 7)),
            (u'07.ago.2014 | 12:52', datetime(2014, 8, 7)),
            (u'07.jul.2014 | 12:52', datetime(2014, 7, 7)),
            (u'07.feb.2014 | 12:52', datetime(2014, 2, 7)),
            (u'07.ene.2014 | 12:52', datetime(2014, 1, 7)),
        ]

        for date_string, correct_date in date_fixtures:
            self.assertEqual(correct_date.date(), dp.parse(date_string).date())
Example #15
0
    def test_should_not_assume_language_prematurely(self):
        dp = DateParser()
        date_fixtures = [
            (u'07/07/2014', datetime(2014, 7, 7)),
            (u'07.ago.2014 | 12:52', datetime(2014, 8, 7)),
            (u'07.jul.2014 | 12:52', datetime(2014, 7, 7)),
            (u'07.feb.2014 | 12:52', datetime(2014, 2, 7)),
            (u'07.ene.2014 | 12:52', datetime(2014, 1, 7)),
        ]

        for date_string, correct_date in date_fixtures:
            self.assertEqual(correct_date.date(), dp.parse(date_string).date())
Example #16
0
    def test_should_enable_redetection_for_multiple_languages(self):
        dates_fixture = [
            (u'13 Ago, 2014', datetime(2014, 8, 13)),
            (u'11 Marzo, 2014', datetime(2014, 3, 11)),
            (u'13 Septiembre, 2014', datetime(2014, 9, 13)),
            (u'13 Setembro, 2014', datetime(2014, 9, 13)),
            (u'13 Março, 2014', datetime(2014, 3, 13)),
        ]
        dp = DateParser(allow_redetect_language=True)

        for date_string, correct_date in dates_fixture:
            parsed_date = dp.parse(date_string)
            self.assertEqual(correct_date.date(), parsed_date.date())
Example #17
0
    def test_should_enable_redetection_for_multiple_languages(self):
        dates_fixture = [
            (u'13 Ago, 2014', datetime(2014, 8, 13)),
            (u'11 Marzo, 2014', datetime(2014, 3, 11)),
            (u'13 Septiembre, 2014', datetime(2014, 9, 13)),
            (u'13 Setembro, 2014', datetime(2014, 9, 13)),
            (u'13 Março, 2014', datetime(2014, 3, 13)),
        ]
        dp = DateParser(allow_redetect_language=True)

        for date_string, correct_date in dates_fixture:
            parsed_date = dp.parse(date_string)
            self.assertEqual(correct_date.date(), parsed_date.date())
    def test_de_dates(self):
        parser = DateParser()
        date_fixtures = [
            ('21. Dezember 2013', datetime(2013, 12, 21)),
            ('19. Februar 2012', datetime(2012, 2, 19)),
            ('26. Juli 2014', datetime(2014, 7, 26)),
        ]

        for dt_string, correct_date in date_fixtures:
            parsed = parser.parse(dt_string)
            self.assertEquals(correct_date.date(), parsed.date())

        date = DateParser().parse('18.10.14 um 22:56 Uhr')
        self.assertEqual(date.year, 2014)
        self.assertEqual(date.month, 10)
        self.assertEqual(date.day, 18)
        self.assertEqual(date.hour, 22)
        self.assertEqual(date.minute, 56)
Example #19
0
    def test_de_dates(self):
        parser = DateParser()
        date_fixtures = [
            ('21. Dezember 2013', datetime(2013, 12, 21)),
            ('19. Februar 2012', datetime(2012, 2, 19)),
            ('26. Juli 2014', datetime(2014, 7, 26)),
        ]

        for dt_string, correct_date in date_fixtures:
            parsed = parser.parse(dt_string)
            self.assertEquals(correct_date.date(), parsed.date())

        date = DateParser().parse('18.10.14 um 22:56 Uhr')
        self.assertEqual(date.year, 2014)
        self.assertEqual(date.month, 10)
        self.assertEqual(date.day, 18)
        self.assertEqual(date.hour, 22)
        self.assertEqual(date.minute, 56)
Example #20
0
 def test_parsing_with_time_zones(self, date_string, expected_datetime):
     self.given_local_tz_offset(+1)
     parser = DateParser()
     self.assertEqual(expected_datetime, parser.parse(date_string))
 def test_should_reject_empty_string(self):
     dp = DateParser()
     with self.assertRaisesRegexp(ValueError, 'Empty string'):
         dp.parse('')
 def test_parsing_with_time_zones(self, date_string, expected_datetime):
     self.given_local_tz_offset(+1)
     parser = DateParser()
     self.assertEqual(expected_datetime, parser.parse(date_string))
Example #23
0
 def test_should_reject_empty_string(self):
     dp = DateParser()
     with self.assertRaisesRegexp(ValueError, 'Empty string'):
         dp.parse('')