11import  logging 
2+ import  six 
23
34from  twisted .web  import  server , resource 
45
1718class  JsonResource (JsonResource_ ):
1819
1920    def  __init__ (self , crawler , target = None ):
20-         JsonResource_ .__init__ (self )
21+         super (JsonResource , self ).__init__ ()
22+ 
2123        self .crawler  =  crawler 
2224        self .json_encoder  =  ScrapyJSONEncoder (crawler = crawler )
2325
26+     def  getChildWithDefault (self , path , request ):
27+         path  =  path .decode ()
28+         return  super (JsonResource , self ).getChildWithDefault (path , request )
29+ 
30+ 
2431class  JsonRpcResource (JsonResource ):
2532
2633    def  __init__ (self , crawler , target = None ):
27-         JsonResource .__init__ (self , crawler , target )
34+         super (JsonRpcResource , self ).__init__ (crawler , target )
35+ 
2836        self .json_decoder  =  ScrapyJSONDecoder (crawler = crawler )
2937        self .crawler  =  crawler 
3038        self ._target  =  target 
3139
32-     def  render_GET (self , txrequest ):
40+     def  render_GET (self , request ):
3341        return  self .get_target ()
3442
35-     def  render_POST (self , txrequest ):
36-         reqstr  =  txrequest .content .getvalue ()
43+     def  render_POST (self , request ):
44+         reqstr  =  request .content .getvalue ()
3745        target  =  self .get_target ()
3846        return  jsonrpc_server_call (target , reqstr , self .json_decoder )
3947
40-     def  getChild (self , name , txrequest ):
48+     def  getChild (self , name , request ):
4149        target  =  self .get_target ()
4250        try :
4351            newtarget  =  getattr (target , name )
@@ -54,33 +62,37 @@ class CrawlerResource(JsonRpcResource):
5462    ws_name  =  'crawler' 
5563
5664    def  __init__ (self , crawler ):
57-         JsonRpcResource . __init__ ( self ,  crawler , crawler )
65+         super ( CrawlerResource ,  self ). __init__ ( crawler , target = crawler )
5866
5967
6068class  RootResource (JsonResource ):
6169
62-     def  render_GET (self , txrequest ):
63-         return  {'resources' : self .children .keys ()}
70+     def  render_GET (self , request ):
71+         return  {'resources' : list ( self .children .keys () )}
6472
65-     def  getChild (self , name , txrequest ):
73+     def  getChild (self , name , request ):
6674        if  name  ==  '' :
6775            return  self 
68-         return  JsonResource .getChild (self , name , txrequest )
76+         return  JsonResource .getChild (self , name , request )
6977
7078
71- class  WebService (server .Site ):
79+ class  WebService (server .Site ,  object ):
7280
7381    def  __init__ (self , crawler ):
7482        if  not  crawler .settings .getbool ('JSONRPC_ENABLED' ):
7583            raise  NotConfigured 
76-          self . crawler   =   crawler 
84+ 
7785        logfile  =  crawler .settings ['JSONRPC_LOGFILE' ]
86+         self .crawler  =  crawler 
7887        self .portrange  =  [int (x ) for  x  in  crawler .settings .getlist ('JSONRPC_PORT' , [6023 , 6073 ])]
7988        self .host  =  crawler .settings .get ('JSONRPC_HOST' , '127.0.0.1' )
89+         self .noisy  =  False 
90+ 
8091        root  =  RootResource (crawler )
8192        root .putChild ('crawler' , CrawlerResource (self .crawler ))
82-         server .Site .__init__ (self , root , logPath = logfile )
83-         self .noisy  =  False 
93+ 
94+         super (WebService , self ).__init__ (root , logPath = logfile )
95+ 
8496        crawler .signals .connect (self .start_listening , signals .engine_started )
8597        crawler .signals .connect (self .stop_listening , signals .engine_stopped )
8698
@@ -90,10 +102,10 @@ def from_crawler(cls, crawler):
90102
91103    def  start_listening (self ):
92104        self .port  =  listen_tcp (self .portrange , self .host , self )
105+ 
93106        logger .debug (
94107            'Web service listening on {host.host:s}:{host.port:d}' .format (
95108                host = self .port .getHost ()))
96109
97110    def  stop_listening (self ):
98111        self .port .stopListening ()
99- 
0 commit comments