You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.3 KiB
52 lines
1.3 KiB
2 years ago
|
# -*- coding: utf-8 -*-
|
||
|
|
||
|
# Copyright (c) 2021, Brandon Nielsen
|
||
|
# All rights reserved.
|
||
|
#
|
||
|
# This software may be modified and distributed under the terms
|
||
|
# of the BSD license. See the LICENSE file for details.
|
||
|
|
||
|
|
||
|
class ISOFormatError(ValueError):
|
||
|
"""Raised when ISO 8601 string fails a format check."""
|
||
|
|
||
|
|
||
|
class RangeCheckError(ValueError):
|
||
|
"""Parent type of range check errors."""
|
||
|
|
||
|
|
||
|
class YearOutOfBoundsError(RangeCheckError):
|
||
|
"""Raised when year exceeds limits."""
|
||
|
|
||
|
|
||
|
class MonthOutOfBoundsError(RangeCheckError):
|
||
|
"""Raised when month is outside of 1..12."""
|
||
|
|
||
|
|
||
|
class WeekOutOfBoundsError(RangeCheckError):
|
||
|
"""Raised when week exceeds a year."""
|
||
|
|
||
|
|
||
|
class DayOutOfBoundsError(RangeCheckError):
|
||
|
"""Raised when day is outside of 1..365, 1..366 for leap year."""
|
||
|
|
||
|
|
||
|
class HoursOutOfBoundsError(RangeCheckError):
|
||
|
"""Raise when parsed hours are greater than 24."""
|
||
|
|
||
|
|
||
|
class MinutesOutOfBoundsError(RangeCheckError):
|
||
|
"""Raise when parsed seconds are greater than 60."""
|
||
|
|
||
|
|
||
|
class SecondsOutOfBoundsError(RangeCheckError):
|
||
|
"""Raise when parsed seconds are greater than 60."""
|
||
|
|
||
|
|
||
|
class MidnightBoundsError(RangeCheckError):
|
||
|
"""Raise when parsed time has an hour of 24 but is not midnight."""
|
||
|
|
||
|
|
||
|
class LeapSecondError(RangeCheckError):
|
||
|
"""Raised when attempting to parse a leap second"""
|