"""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```" )