From cad78df989164b3b8c0d6b808a82b7aae018cd52 Mon Sep 17 00:00:00 2001 From: Pengyu CHEN Date: Tue, 9 Aug 2016 23:12:50 +0800 Subject: [PATCH] Added: Made it able to suppress the warnings when a "normal" request is yielded --- src/inline_requests/generator.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/inline_requests/generator.py b/src/inline_requests/generator.py index 4a108c1..6c3ad93 100644 --- a/src/inline_requests/generator.py +++ b/src/inline_requests/generator.py @@ -54,15 +54,17 @@ def _unwindGenerator(self, generator, _prev=None): if isinstance(ret, Request): if ret.callback: - warnings.warn("Got a request with callback set, bypassing " - "the generator wrapper. Generator may not " - "be able to resume. %s" % ret) + if not ret.meta.get('inline_requests_no_warning'): + warnings.warn("Got a request with callback set, bypassing " + "the generator wrapper. Generator may not " + "be able to resume. %s" % ret) elif ret.errback: # By Scrapy defaults, a request without callback defaults to # self.parse spider method. - warnings.warn("Got a request with errback set, bypassing " - "the generator wrapper. Generator may not " - "be able to resume. %s" % ret) + if not ret.meta.get('inline_requests_no_warning'): + warnings.warn("Got a request with errback set, bypassing " + "the generator wrapper. Generator may not " + "be able to resume. %s" % ret) else: yield self._wrapRequest(ret, generator) return