removed deprecation warning (scheduled to be removed on Scrapy 0.11)

This commit is contained in:
Pablo Hoffman 2011-07-27 13:21:58 -03:00
parent b47f5330fd
commit a45dca32f5
1 changed files with 2 additions and 16 deletions

View File

@ -4,9 +4,7 @@ Item pipeline
See documentation in docs/item-pipeline.rst
"""
from scrapy import log
from scrapy.middleware import MiddlewareManager
from scrapy.utils.python import get_func_args
class ItemPipelineManager(MiddlewareManager):
@ -16,22 +14,10 @@ class ItemPipelineManager(MiddlewareManager):
def _get_mwlist_from_settings(cls, settings):
return settings.getlist('ITEM_PIPELINES')
# FIXME: remove in Scrapy 0.11
def _wrap_old_process_item(self, old):
def new(item, spider):
return old(spider, item)
return new
def _add_middleware(self, pipe):
super(ItemPipelineManager, self)._add_middleware(pipe)
func = getattr(pipe, 'process_item', None)
if func:
# FIXME: remove in Scrapy 0.11
fargs = get_func_args(func.im_func)
if fargs and fargs[1] == 'spider':
log.msg("Update %s.process_item() method to receive (item, spider) instead of (spider, item) or they will stop working on Scrapy 0.11" % pipe.__class__.__name__, log.WARNING)
func = self._wrap_old_process_item(func)
self.methods['process_item'].append(func)
if hasattr(pipe, 'process_item'):
self.methods['process_item'].append(pipe.process_item)
def process_item(self, item, spider):
return self._process_chain('process_item', item, spider)