39 lines
1.2 KiB
Python
39 lines
1.2 KiB
Python
"""Exceptions that are meant to be used by HoloUser class
|
|
and other modules that handle those exceptions"""
|
|
|
|
|
|
class UserNotFoundError(Exception):
|
|
"""HoloUser could not find user with such an ID in database"""
|
|
|
|
def __init__(self, user, user_id):
|
|
self.user = user
|
|
self.user_id = user_id
|
|
super().__init__(
|
|
f"User of type {type(self.user)} with id {self.user_id} was not found"
|
|
)
|
|
|
|
|
|
class UserInvalidError(Exception):
|
|
"""Provided to HoloUser object is not supported"""
|
|
|
|
def __init__(self, user):
|
|
self.user = user
|
|
super().__init__(
|
|
f"Could not find HoloUser by using {type(self.user)} as an input type"
|
|
)
|
|
|
|
|
|
class LabelTooLongError(Exception):
|
|
def __init__(self, label: str) -> None:
|
|
self.label = label
|
|
super().__init__(
|
|
f"Could not set label to '{label}' because it is {len(label)} characters long (16 is maximum)"
|
|
)
|
|
|
|
|
|
class LabelSettingError(Exception):
|
|
def __init__(self, exp: Exception, trace: str) -> None:
|
|
super().__init__(
|
|
f"❌ **Could not set label**\n\nException: `{exp}`\n\n**Traceback:**\n```\n{trace}\n```"
|
|
)
|