MCPcopy
hub / github.com/scrapy/scrapy / _request_deferred

Function _request_deferred

scrapy/shell.py:323–350  ·  view source on GitHub ↗

Wrap a request inside a Deferred. This function is harmful, do not use it until you know what you are doing. This returns a Deferred whose first pair of callbacks are the request callback and errback. The Deferred also triggers when the request callback/errback is executed (i.e. wh

(request: Request)

Source from the content-addressed store, hash-verified

321
322
323def _request_deferred(request: Request) -> Deferred[Any]:
324 """Wrap a request inside a Deferred.
325
326 This function is harmful, do not use it until you know what you are doing.
327
328 This returns a Deferred whose first pair of callbacks are the request
329 callback and errback. The Deferred also triggers when the request
330 callback/errback is executed (i.e. when the request is downloaded)
331
332 WARNING: Do not call request.replace() until after the deferred is called.
333 """
334 request_callback = request.callback
335 request_errback = request.errback
336
337 def _restore_callbacks(result: Any) -> Any:
338 request.callback = request_callback
339 request.errback = request_errback
340 return result
341
342 d: Deferred[Any] = Deferred()
343 d.addBoth(_restore_callbacks)
344 if request.callback:
345 d.addCallback(request.callback)
346 if request.errback:
347 d.addErrback(request.errback)
348
349 request.callback, request.errback = d.callback, d.errback
350 return d

Callers 1

_scheduleMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected