コード例 #1
0
 def _get_datetime_obj(self, **params):
     try:
         return datetime(**params)
     except ValueError as e:
         error_text = e.__str__()
         error_msgs = ['day is out of range', 'day must be in']
         if ((error_msgs[0] in error_text or error_msgs[1] in error_text)
                 and
                 not (self._token_day or hasattr(self, '_token_weekday'))):
             params['day'] = get_last_day_of_month(params['year'],
                                                   params['month'])
             return datetime(**params)
         else:
             raise e
コード例 #2
0
ファイル: parser.py プロジェクト: seric17/dateparser
 def _get_datetime_obj(self, **params):
     try:
         return datetime(**params)
     except ValueError as e:
         error_text = e.__str__()
         error_msgs = ['day is out of range', 'day must be in']
         if (error_msgs[0] in error_text or error_msgs[1] in error_text):
             if not(self._token_day or hasattr(self, '_token_weekday')):
                 # if day is not available put last day of the month
                 params['day'] = get_last_day_of_month(params['year'], params['month'])
                 return datetime(**params)
             elif not self._token_year and params['day'] == 29 and params['month'] == 2 and \
                     not calendar.isleap(params['year']):
                 # fix the year when year is not present and it is 29 of February
                 params['year'] = self._get_correct_leap_year(self.settings.PREFER_DATES_FROM, params['year'])
                 return datetime(**params)
         raise e
コード例 #3
0
 def test_get_last_day_of_month(self, year, month, expected_last_day):
     assert get_last_day_of_month(year, month) == expected_last_day