def _parseDate(string): if pdt is None: return dateutils.parseIsoDate(string) else: try: values, flag = pdt.parse(string) if flag != 1: raise ValueError("Incorrect date string: %s" + string) return datetime.date(*values[:3]) except ValueError, e: try: return dateutils.parseIsoDate(string) except ValueError: raise e
def parseDate(token): '''Вспомогательная функция для разбора даты в формате ISO. @param token: строка даты в формате ISO @returns: объект класса C{datetime.date} @raise L{FormatError<utils.FormatError>}: строка имеет неправильный формат ''' try: return dateutils.parseIsoDate(token.string()) except ValueError, e: raise FormatError('at "%s": Can\'t parse date: %s' % (token, e.message))