64 lines
1.8 KiB
Python
64 lines
1.8 KiB
Python
|
|
class BaseStorageError(Exception):
|
|
pass
|
|
|
|
|
|
class StorageActionNotImplemented(Exception):
|
|
def __init__(self, storage, action, message='is not implemented'):
|
|
self.storage = storage
|
|
self.action = action
|
|
self.message = message
|
|
super().__init__(self.message)
|
|
|
|
def __str__(self):
|
|
return f'{self.action} on class {self.storage} {self.message}'
|
|
|
|
|
|
class FileDoesNotExist(BaseStorageError):
|
|
def __init__(self, source, message='File does not exists on disk'):
|
|
self.source = source
|
|
self.message = message
|
|
super().__init__(self.message)
|
|
|
|
def __str__(self):
|
|
return f'{self.source} -> {self.message}'
|
|
|
|
|
|
class InvalidLocation(BaseStorageError):
|
|
def __init__(self, location, message='Location does not exists or is not valid'):
|
|
self.location = location
|
|
self.message = message
|
|
super().__init__(self.message)
|
|
|
|
def __str__(self):
|
|
return f'{self.location} -> {self.message}'
|
|
|
|
|
|
class InvalidAuthentication(BaseStorageError):
|
|
def __init__(self, user, message='Authentication failed'):
|
|
self.user = user
|
|
self.message = message
|
|
super().__init__(self.message)
|
|
|
|
def __str__(self):
|
|
return f'{self.user} -> {self.message}'
|
|
|
|
|
|
class UnknownStorageEngine(BaseStorageError):
|
|
def __init__(self, engine, message='Storage engine is unknown, not available'):
|
|
self.engine = engine
|
|
self.message = message
|
|
super().__init__(self.message)
|
|
|
|
def __str__(self):
|
|
return f'{self.engine} -> {self.message}'
|
|
|
|
|
|
class MissingEncryptionKey(BaseStorageError):
|
|
def __init__(self, message='The encryption keys are missing'):
|
|
self.message = message
|
|
super().__init__(self.message)
|
|
|
|
def __str__(self):
|
|
return f'{self.message}'
|