A library for parsing ISO 8601 strings
This is a Python 3 library for parsing date strings in ISO 8601 format into datetime format.
- Developed at devel:languages:python
- Sources inherited from project openSUSE:Factory
-
3
derived packages
- Download package
-
Checkout Package
osc -A https://api.opensuse.org checkout openSUSE:Slowroll:Base:1/python-aniso8601 && cd $_
- Create Badge
Refresh
Refresh
Source Files
Filename | Size | Changed |
---|---|---|
aniso8601-9.0.1.tar.gz | 0000047345 46.2 KB | |
python-aniso8601.changes | 0000007624 7.45 KB | |
python-aniso8601.spec | 0000001817 1.77 KB |
Revision 10 (latest revision is 13)
Dominique Leuenberger (dimstar_suse)
accepted
request 884807
from
Steve Kowalik (StevenK)
(revision 10)
- Update to 9.0.1: * Parsing prescribed durations with only hour and second time components (see PR 14) * Parsing prescribed durations with only year and day components * Add support for concise interval format (see 27) * Add explicit bounds of [000, 366] to day of year component _parse_ordinal_date, this adds the same limits to dates of the format YYYYDDD or YYYY-DDD when using parse_date * Add range_check_date, range_check_time, range_check_duration, range_check_repeating_interval, and range_check_timezone range checking class methods to BaseTimeBuilder there are no datetime or non-repeating interval check function as they are made of already checked parts * PythonTimeBuilder now calls the appropriate range check functions using the range_check_date, range_check_time, range_check_duration, range_check_repeating_interval, and range_check_timezone methods defined in aniso8601.builders * Add range_check_duration to PythonTimeBuilder which calls BaseTimeBuilder.range_check_duration and performs additional checks against maximum timedelta size * Add range_check_interval to PythonTimeBuilder which handles building concise dates and performs additional checks against maximum timedelta size * Add get_datetime_resolution which behaves like get_time_resolution but accepts a ISO 8601 date time as an argument, return value is a TimeResolution * Add exceptions.RangeCheckError as a parent type of all failures in the range check methods, it descends from ValueError * Add get_duration_resolution which behaves like other resolution helpers, return value is a DurationResolution * Add get_interval_resolution which behaves like other resolution helpers, return value is a IntervalResolution * Negative durations now fail at the parse step and simply raise ISOFormatError, calling a PythonTimeBuilder.build_duration directly with a negative duration component will yield an ISOFormatError in the range check * Raise DayOutOfBoundsError if calendar day exceeds number of days in calendar month * Raise ISOFormatError when date or time string contains extra whitespace * Raise ISOFormatError when duration contains multiple duration designators ("P"), or time designators ("T") * PythonTimeBuilder.build_duration raises YearOutOfBoundsError, MonthOutOfBoundsError, WeekOutOfBoundsError, HoursOutOfBoundsError, MinutesOutOfBoundsError, or SecondsOutOfBoundsError when a given duration component would result in a timedelta that would exceed the maximum size * Raise ISOFormatError if number of delimiters is not exactly 1 in parse_interval * Raise ISOFormatError when either part of an interval string before of after the delimiter is empty * Raise YearOutOfBoundsError in PythonTimeBuilder.build_interval if an interval with a duration would exceed the maximum or minimum years for Python date objects * Simplify parse_date, build_date will now be called with explicit None arguments instead of date components not in the parsed string excluded from the call * Change get_date_resolution to call parse_date and return the resolution based on the smallest parsed component * Simplify parse_time, build_time will now be called with explicit None arguments instead of date components not in the parsed string excluded from the call * Change get_time_resolution to call parse_time and return the resolution based on the smallest parsed component * TupleBuilder now builds DateTuple, TimeTuple, DatetimeTuple, DurationTuple, IntervalTuple, RepeatingIntervalTuple and TimezoneTuple namedtuples * Simplify parse_duration, build_duration will now be called with explicit None arguments when components of a prescribed duration are not present in the ISO 8601 duration string instead of being excluded from the call * Remove unused decimalfraction.find_separator * Remove unused PythonTimeBuilder._split_to_microseconds * Removed NegativeDurationError - Switch %pyunittest macro for running tests.
Comments 0