89 lines
1.9 KiB
Python
89 lines
1.9 KiB
Python
"""
|
|
Scrapy core exceptions
|
|
|
|
These exceptions are documented in docs/topics/exceptions.rst. Please don't add
|
|
new exceptions here without documenting them there.
|
|
"""
|
|
|
|
# Internal
|
|
|
|
|
|
class NotConfigured(Exception):
|
|
"""Indicates a missing configuration situation"""
|
|
pass
|
|
|
|
|
|
class _InvalidOutput(TypeError):
|
|
"""
|
|
Indicates an invalid value has been returned by a middleware's processing method.
|
|
Internal and undocumented, it should not be raised or caught by user code.
|
|
"""
|
|
pass
|
|
|
|
|
|
# HTTP and crawling
|
|
|
|
|
|
class IgnoreRequest(Exception):
|
|
"""Indicates a decision was made not to process a request"""
|
|
|
|
|
|
class DontCloseSpider(Exception):
|
|
"""Request the spider not to be closed yet"""
|
|
pass
|
|
|
|
|
|
class CloseSpider(Exception):
|
|
"""Raise this from callbacks to request the spider to be closed"""
|
|
|
|
def __init__(self, reason='cancelled'):
|
|
super().__init__()
|
|
self.reason = reason
|
|
|
|
|
|
class StopDownload(Exception):
|
|
"""
|
|
Stop the download of the body for a given response.
|
|
The 'fail' boolean parameter indicates whether or not the resulting partial response
|
|
should be handled by the request errback. Note that 'fail' is a keyword-only argument.
|
|
"""
|
|
|
|
def __init__(self, *, fail=True):
|
|
super().__init__()
|
|
self.fail = fail
|
|
|
|
|
|
# Items
|
|
|
|
|
|
class DropItem(Exception):
|
|
"""Drop item from the item pipeline"""
|
|
pass
|
|
|
|
|
|
class NotSupported(Exception):
|
|
"""Indicates a feature or method is not supported"""
|
|
pass
|
|
|
|
|
|
# Commands
|
|
|
|
|
|
class UsageError(Exception):
|
|
"""To indicate a command-line usage error"""
|
|
|
|
def __init__(self, *a, **kw):
|
|
self.print_help = kw.pop('print_help', True)
|
|
super().__init__(*a, **kw)
|
|
|
|
|
|
class ScrapyDeprecationWarning(Warning):
|
|
"""Warning category for deprecated features, since the default
|
|
DeprecationWarning is silenced on Python 2.7+
|
|
"""
|
|
pass
|
|
|
|
|
|
class ContractFail(AssertionError):
|
|
"""Error raised in case of a failing contract"""
|
|
pass
|