mirror of https://github.com/scrapy/scrapy.git
Replaced old manager references with crawler
This commit is contained in:
parent
8fc78c4d0a
commit
ef7a097272
|
|
@ -6,14 +6,14 @@ class EngineStatusResource(JsonResource):
|
|||
|
||||
ws_name = 'enginestatus'
|
||||
|
||||
def __init__(self, spider_name=None, _manager=crawler):
|
||||
def __init__(self, spider_name=None, _crawler=crawler):
|
||||
JsonResource.__init__(self)
|
||||
self._spider_name = spider_name
|
||||
self.isLeaf = spider_name is not None
|
||||
self._manager = _manager
|
||||
self._crawler = _crawler
|
||||
|
||||
def render_GET(self, txrequest):
|
||||
status = get_engine_status(self._manager.engine)
|
||||
status = get_engine_status(self._crawler.engine)
|
||||
if self._spider_name is None:
|
||||
return status
|
||||
for sp, st in status['spiders'].items():
|
||||
|
|
@ -21,4 +21,4 @@ class EngineStatusResource(JsonResource):
|
|||
return st
|
||||
|
||||
def getChild(self, name, txrequest):
|
||||
return EngineStatusResource(name, self._manager)
|
||||
return EngineStatusResource(name, self._crawler)
|
||||
|
|
|
|||
|
|
@ -4,10 +4,10 @@ from cStringIO import StringIO
|
|||
from scrapy.utils.jsonrpc import jsonrpc_client_call, jsonrpc_server_call, \
|
||||
JsonRpcError, jsonrpc_errors
|
||||
from scrapy.utils.serialize import ScrapyJSONDecoder
|
||||
from scrapy.tests.test_utils_serialize import ExecutionMangerStub
|
||||
from scrapy.tests.test_utils_serialize import CrawlerMock
|
||||
from scrapy.utils.py26 import json
|
||||
|
||||
class urllib_stub(object):
|
||||
class urllib_mock(object):
|
||||
def __init__(self, result=None, error=None):
|
||||
response = {}
|
||||
if result:
|
||||
|
|
@ -33,11 +33,11 @@ class TestTarget(object):
|
|||
class JsonRpcUtilsTestCase(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
crawler = ExecutionMangerStub([])
|
||||
crawler = CrawlerMock([])
|
||||
self.json_decoder = ScrapyJSONDecoder(crawler=crawler)
|
||||
|
||||
def test_jsonrpc_client_call_request(self):
|
||||
ul = urllib_stub(1)
|
||||
ul = urllib_mock(1)
|
||||
jsonrpc_client_call('url', 'test', 'one', 2, _urllib=ul)
|
||||
req = json.loads(ul.request)
|
||||
assert 'id' in req
|
||||
|
|
@ -47,12 +47,12 @@ class JsonRpcUtilsTestCase(unittest.TestCase):
|
|||
self.assertEqual(req['params'], ['one', 2])
|
||||
|
||||
def test_jsonrpc_client_call_response(self):
|
||||
ul = urllib_stub()
|
||||
ul = urllib_mock()
|
||||
# must return result or error
|
||||
self.assertRaises(ValueError, jsonrpc_client_call, 'url', 'test', _urllib=ul)
|
||||
ul = urllib_stub(result={'one': 1})
|
||||
ul = urllib_mock(result={'one': 1})
|
||||
self.assertEquals(jsonrpc_client_call('url', 'test', _urllib=ul), {'one': 1})
|
||||
ul = urllib_stub(error={'code': 123, 'message': 'hello', 'data': 'some data'})
|
||||
ul = urllib_mock(error={'code': 123, 'message': 'hello', 'data': 'some data'})
|
||||
|
||||
raised = False
|
||||
try:
|
||||
|
|
|
|||
|
|
@ -10,13 +10,13 @@ from scrapy.spider import BaseSpider
|
|||
from scrapy.http import Request, Response
|
||||
|
||||
|
||||
class ExecutionEngineStub(object):
|
||||
class _EngineMock(object):
|
||||
def __init__(self, open_spiders):
|
||||
self.open_spiders = open_spiders
|
||||
|
||||
class ExecutionMangerStub(object):
|
||||
class CrawlerMock(object):
|
||||
def __init__(self, open_spiders):
|
||||
self.engine = ExecutionEngineStub(open_spiders)
|
||||
self.engine = _EngineMock(open_spiders)
|
||||
|
||||
class BaseTestCase(unittest.TestCase):
|
||||
|
||||
|
|
@ -24,8 +24,8 @@ class BaseTestCase(unittest.TestCase):
|
|||
self.spider1 = BaseSpider('name1')
|
||||
self.spider2 = BaseSpider('name2')
|
||||
open_spiders = set([self.spider1, self.spider2])
|
||||
manager = ExecutionMangerStub(open_spiders)
|
||||
self.spref = SpiderReferencer(manager)
|
||||
crawler = CrawlerMock(open_spiders)
|
||||
self.spref = SpiderReferencer(crawler)
|
||||
self.encoder = ScrapyJSONEncoder(spref=self.spref)
|
||||
self.decoder = ScrapyJSONDecoder(spref=self.spref)
|
||||
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ class SpiderReferencer(object):
|
|||
def __init__(self, crawler=None):
|
||||
if crawler is None:
|
||||
from scrapy.project import crawler
|
||||
self.manager = crawler
|
||||
self.crawler = crawler
|
||||
|
||||
def get_reference_from_spider(self, spider):
|
||||
return 'spider:%x:%s' % (id(spider), spider.name)
|
||||
|
|
@ -35,7 +35,7 @@ class SpiderReferencer(object):
|
|||
m = self.spider_ref_re.search(ref)
|
||||
if m:
|
||||
spid, spname = m.groups()
|
||||
for spider in self.manager.engine.open_spiders:
|
||||
for spider in self.crawler.engine.open_spiders:
|
||||
if "%x" % id(spider) == spid or spider.name == spname:
|
||||
return spider
|
||||
raise RuntimeError("Spider not running: %s" % ref)
|
||||
|
|
|
|||
Loading…
Reference in New Issue