mirror of
https://github.com/Noettore/fattureCCSR.git
synced 2025-10-14 19:26:39 +02:00
42 lines
1.7 KiB
Python
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)
|