From 62c7daf785ac0fc0ee75f46059655d2006b96ec0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Gra=C3=B1a?= Date: Wed, 22 Jan 2014 20:58:53 -0200 Subject: [PATCH] Add basic top-level shortcuts --- scrapy/__init__.py | 9 ++++++++- scrapy/tests/test_toplevel.py | 18 ++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/scrapy/__init__.py b/scrapy/__init__.py index 9917f70e8..d3fd1d3ba 100644 --- a/scrapy/__init__.py +++ b/scrapy/__init__.py @@ -2,7 +2,8 @@ Scrapy - a screen scraping framework written in Python """ -__all__ = ['__version__', 'version_info', 'optional_features', 'twisted_version'] +__all__ = ['__version__', 'version_info', 'optional_features', 'twisted_version', + 'Spider', 'Request', 'FormRequest', 'Selector', 'Item', 'Field'] # Scrapy version import pkgutil @@ -49,3 +50,9 @@ from twisted import version as _txv twisted_version = (_txv.major, _txv.minor, _txv.micro) if twisted_version >= (11, 1, 0): optional_features.add('http11') + +# Declare top-level shortcuts +from scrapy.spider import Spider +from scrapy.http import Request, FormRequest +from scrapy.selector import Selector +from scrapy.item import Item, Field diff --git a/scrapy/tests/test_toplevel.py b/scrapy/tests/test_toplevel.py index 5d014ce6f..17cf82213 100644 --- a/scrapy/tests/test_toplevel.py +++ b/scrapy/tests/test_toplevel.py @@ -14,3 +14,21 @@ class ToplevelTestCase(TestCase): def test_optional_features(self): self.assertIs(type(scrapy.optional_features), set) self.assertIn('ssl', scrapy.optional_features) + + def test_request_shortcut(self): + from scrapy.http import Request, FormRequest + self.assertIs(scrapy.Request, Request) + self.assertIs(scrapy.FormRequest, FormRequest) + + def test_spider_shortcut(self): + from scrapy.spider import Spider + self.assertIs(scrapy.Spider, Spider) + + def test_selector_shortcut(self): + from scrapy.selector import Selector + self.assertIs(scrapy.Selector, Selector) + + def test_item_shortcut(self): + from scrapy.item import Item, Field + self.assertIs(scrapy.Item, Item) + self.assertIs(scrapy.Field, Field)