Files
fattureCCSR/fatture_ccsr/exc.py
2021-01-07 00:42:31 +01:00

42 lines
1.7 KiB
Python

"""Define Python user-defined exceptions"""
class FattureSanRossoreError(Exception):
"""Base class for other exceptions"""
class FileError(FattureSanRossoreError):
"""Basic exception for errors raised by files"""
def __init__(self, file_path, msg=None):
if msg is None:
msg = "An error occurred with file %s" % file_path
super(FileError, self).__init__(msg)
self.file_path = file_path
class NoFileExtensionError(FileError):
"""Raised when a file has no exception"""
def __init__(self, file_path):
super(NoFileExtensionError, self).__init__(file_path, msg="File %s has no extension!" % file_path)
class WrongFileExtensionError(FileError):
"""Raised when a file extension is not accepted"""
def __init__(self, file_path, file_ext, allowed_ext):
super(WrongFileExtensionError, self).__init__(file_path, msg="Cannot accept file %s extension %s. Allowed extensions are %s" % (file_path, file_ext, allowed_ext))
self.file_ext = file_ext
class NoFileError(FileError):
"""Raised when file_path is None or an empty string"""
def __init__(self):
super(NoFileError, self).__init__(None, msg="Not setted or empty file path!")
class ActionError(FattureSanRossoreError):
"""Basic exception for errors raised by actions"""
def __init__(self, action, msg=None):
if msg is None:
msg = "An error occurred with %s action" % action
super(ActionError, self).__init__(msg)
self.action = action
class InvalidActionError(ActionError):
"""Raised when an invalid action is used"""
def __init__(self, action):
super(InvalidActionError, self).__init__(action, "Invalid action %s" % action)