@@ -18,17 +18,30 @@ def run(self, edit):
18
18
thread .start ()
19
19
self .handle_threads (edit , threads )
20
20
def injectResult (self ,edit ,sel ,result ):
21
- resultDump = result ["query" ]["results" ]["results" ]
22
- code = resultDump ["code" ]
23
- bossresponse = resultDump ["info" ]["results" ]["bossresponse" ]["web" ]["results" ]["result" ];
24
- abstract = bossresponse ["abstract" ]['content' ];
25
- clickurl = bossresponse ["clickurl" ];
21
+ try :
22
+ dump = result ["query" ]["results" ]
23
+ resultDump = dump ["results" ]
24
+ code = resultDump ["code" ]
25
+ if code == 'Sorry! service is down' :
26
+ raise ;
27
+ try :
28
+ bossresponse = resultDump ["info" ]["bossresponse" ]["web" ]["results" ]["result" ];
29
+ abstract = bossresponse ["abstract" ]['content' ];
30
+ clickurl = bossresponse ["clickurl" ];
31
+ except :
32
+ bossresponse = ""
33
+ abstract = ""
34
+ clickurl = ""
35
+ except :
36
+ self .view .set_status ('foo' ,"Sorry!!!!! API rate limit Exceeded ......" );
37
+ return
38
+
26
39
output = ""
27
40
output = output + '\n #################################################\n ' ;
28
41
output = output + "Description: " + abstract ;
29
42
output = output + "\n URL: " + clickurl ;
30
43
output = output + '\n #################################################\n ' ;
31
- output = output + resultDump [ " code" ] ;
44
+ output = output + code ;
32
45
output = output + '\n #################################################\n ' ;
33
46
self .view .replace (edit ,sel ,output );
34
47
self .view .run_command ('toggle_comment' )
@@ -59,7 +72,7 @@ def handle_threads(self, edit, threads,i=0):
59
72
60
73
self .view .end_edit (edit )
61
74
62
- self .view .erase_status ('foo' )
75
+ # self.view.erase_status('foo')
63
76
selections = len (self .view .sel ())
64
77
sublime .status_message ('Foo loaded for %s selection%s' % (selections , '' if selections == 1 else 's' ))
65
78
@@ -78,10 +91,11 @@ def run(self):
78
91
headers = {"User-Agent" : "Foo" })
79
92
http_file = urllib2 .urlopen (request , timeout = self .timeout )
80
93
self .result = json .loads (http_file .read ());
94
+ print self .result ;
81
95
return
82
96
except (urllib2 .HTTPError ) as (e ):
83
97
err = '%s: HTTP error %s contacting API' % (__name__ , str (e .code ))
84
98
except (urllib2 .URLError ) as (e ):
85
99
err = '%s: URL error %s contacting API' % (__name__ , str (e .reason ))
86
100
sublime .error_message (err )
87
- self .result = False
101
+ self .result = False
0 commit comments