common.py 467 B

12345678910111213
  1. """Common functions used in Item Loaders code"""
  2. from functools import partial
  3. from scrapy.utils.python import get_func_args
  4. def wrap_loader_context(function, context):
  5. """Wrap functions that receive loader_context to contain the context
  6. "pre-loaded" and expose a interface that receives only one argument
  7. """
  8. if 'loader_context' in get_func_args(function):
  9. return partial(function, loader_context=context)
  10. else:
  11. return function