bazarr/libs/aniso8601/exceptions.py

52 lines
1.3 KiB
Python

# -*- 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"""