You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
1.2 KiB

class ScraperException(Exception):
def __init__(self, message, original_exception=None):
super().__init__(message)
self.original_exception = original_exception
class NetworkException(ScraperException):
def __init__(self, message, status_code=None, original_exception=None):
super().__init__(message, original_exception)
self.status_code = status_code
class ParseException(ScraperException):
def __init__(self, message, selector=None, original_exception=None):
super().__init__(message, original_exception)
self.selector = selector
class ValidationException(ScraperException):
def __init__(self, message, field=None, original_exception=None):
super().__init__(message, original_exception)
self.field = field
class StorageException(ScraperException):
def __init__(self, message, file_path=None, original_exception=None):
super().__init__(message, original_exception)
self.file_path = file_path
class StrategyException(ScraperException):
def __init__(self, message, strategy_name=None, original_exception=None):
super().__init__(message, original_exception)
self.strategy_name = strategy_name