scrapy/scrapy — pull request #501 by kmike (2013-12-27 18:55:49+00:00)
Title: Reanme BaseSpider to Spider

See #495.

Deprecation warning is issued when BaseSpider is subclassed, not when it is instantiated. Spider objects are usually created deep in scrapy, so issuing warning in `__init__` doesn't provide an useful trace. The trick allows us to point to a specific place that user should change, like that:

```
/Users/kmike/scrap/3pjp/broad_crawler/shiftgig/spiders/broad.py:25: ScrapyDeprecationWarning: scrapy.spider.BaseSpider was deprecated. Please inherit from scrapy.spider.Spider.
class BroadSpider(BaseSpider):
```

The downside is that code is less straightforward, and that instantiation of BaseSpider doesn't issue a warning. BaseSpider objects are instantiated in tests. We can add an extra instantiation warning by overriding `BaseSpider.__init__` - do you think it worths it?