Exemple #1
0
 def test_patch_dates(self):
     self.assertEquals(dates.clean('2017-1-3'), '2017-01-03')
     self.assertEquals(dates.clean('2017-3'), '2017-03')
     self.assertEquals(dates.clean('2017-0'), '2017')
     self.assertEquals(dates.clean('2017-5-2T00:00:00'), '2017-05-02')
     self.assertEquals(dates.clean('2017-5-2T10:00:00'),
                       '2017-05-02T10:00:00')  # noqa
Exemple #2
0
    def test_parse_date(self):
        self.assertEquals(dates.clean(None), None)
        self.assertEquals(dates.clean(''), None)
        self.assertEquals(dates.clean('2017-04-04'), '2017-04-04')
        # self.assertEquals(parse_date('2017-4-4'), '2017-04-04')

        # TODO: make this yield an imprecise date somehow?
        self.assertEquals(dates.clean('4/2017', format="%m/%Y"), '2017-04-01')
        self.assertEquals(dates.clean('4/2xx017', format="%m/%Y"), None)
Exemple #3
0
    def test_convert_datetime(self):
        dt = datetime.utcnow()
        iso, _ = dt.isoformat().split('.', 1)
        self.assertEquals(dates.clean(dt), iso)
        self.assertTrue(dates.validate(iso))

        dt = datetime.utcnow().date()
        iso = dt.isoformat()
        self.assertEquals(dates.clean(dt), iso)
Exemple #4
0
    def test_parse_date(self):
        self.assertEquals(dates.clean(None), None)
        self.assertEquals(dates.clean(''), None)
        self.assertEquals(dates.clean('2017-04-04'), '2017-04-04')
        self.assertEquals(dates.clean('2017-4-4'), '2017-04-04')

        self.assertEquals(dates.clean('23-AUG-2001'), '2001-08-23')
        self.assertEquals(dates.clean('09-jun-1993'), '1993-06-09')

        # TODO: make this yield an imprecise date somehow?
        self.assertEquals(dates.clean('4/2017', format="%m/%Y"), '2017-04-01')
        self.assertEquals(dates.clean('4/2xx017', format="%m/%Y"), None)
Exemple #5
0
 def retrieved_at(self, date):
     self._meta_text('retrieved_at', dates.clean(date))
Exemple #6
0
 def published_at(self, date):
     self._meta_text('published_at', dates.clean(date))
Exemple #7
0
 def modified_at(self, date):
     self._meta_text('modified_at', dates.clean(date))
Exemple #8
0
 def authored_at(self, date):
     self._meta_text('authored_at', dates.clean(date))
Exemple #9
0
 def date(self, date):
     self._meta_text('date', dates.clean(date))
Exemple #10
0
 def test_guess_date(self):
     self.assertEquals(dates.clean('12.4.2017'), '2017-04-12')
Exemple #11
0
 def test_chop_dates(self):
     self.assertEquals(dates.clean('2017-00-00'), '2017')
     self.assertEquals(dates.clean('2017-00-00T00:00:00'), '2017')
     self.assertEquals(dates.clean('2017-00-00T12:03:49'), '2017')
     self.assertEquals(dates.clean('2017-01-01T00:00:00'), '2017-01-01')
Exemple #12
0
 def add_date(self, obj):
     self.meta.setdefault('dates', [])
     date = dates.clean(obj)
     if date is not None and date not in self.meta['dates']:
         self.meta['dates'].append(date)
         self.update_meta()