deprecated.py 1.4 KB

123456789101112131415161718192021222324252627
  1. import warnings
  2. from scrapy.exceptions import ScrapyDeprecationWarning
  3. DEPRECATED_SETTINGS = [
  4. ('TRACK_REFS', 'no longer needed (trackref is always enabled)'),
  5. ('RESPONSE_CLASSES', 'no longer supported'),
  6. ('DEFAULT_RESPONSE_ENCODING', 'no longer supported'),
  7. ('BOT_VERSION', 'no longer used (user agent defaults to Scrapy now)'),
  8. ('ENCODING_ALIASES', 'no longer needed (encoding discovery uses w3lib now)'),
  9. ('STATS_ENABLED', 'no longer supported (change STATS_CLASS instead)'),
  10. ('SQLITE_DB', 'no longer supported'),
  11. ('SELECTORS_BACKEND', 'use SCRAPY_SELECTORS_BACKEND environment variable instead'),
  12. ('AUTOTHROTTLE_MIN_DOWNLOAD_DELAY', 'use DOWNLOAD_DELAY instead'),
  13. ('AUTOTHROTTLE_MAX_CONCURRENCY', 'use CONCURRENT_REQUESTS_PER_DOMAIN instead'),
  14. ('AUTOTHROTTLE_MAX_CONCURRENCY', 'use CONCURRENT_REQUESTS_PER_DOMAIN instead'),
  15. ('REDIRECT_MAX_METAREFRESH_DELAY', 'use METAREFRESH_MAXDELAY instead'),
  16. ('LOG_UNSERIALIZABLE_REQUESTS', 'use SCHEDULER_DEBUG instead'),
  17. ]
  18. def check_deprecated_settings(settings):
  19. deprecated = [x for x in DEPRECATED_SETTINGS if settings[x[0]] is not None]
  20. if deprecated:
  21. msg = "You are using the following settings which are deprecated or obsolete"
  22. msg += " (ask scrapy-users@googlegroups.com for alternatives):"
  23. msg = msg + "\n " + "\n ".join("%s: %s" % x for x in deprecated)
  24. warnings.warn(msg, ScrapyDeprecationWarning)