@@ -13,16 +13,18 @@ def __init__(self,base_url,append_json=False,append_slash=False):
13
13
14
14
def __getattr__ (self ,key ):
15
15
new_base = append_to_url (self .base_url ,key )
16
- return self .__class__ (base_url = new_base ,append_json = self .append_json )
17
-
16
+ return self .__class__ (base_url = new_base ,
17
+ append_json = self .append_json ,
18
+ append_slash = self .append_slash )
19
+
18
20
def __getitem__ (self ,key ):
19
21
return self .__getattr__ (key )
20
22
21
23
def __call__ (self , ** kwargs ):
22
24
if not self .append_slash :
23
25
self .base_url = self .base_url [:- 1 ]
24
26
if self .append_json :
25
- self .base_url = "%s%s" % (self .base_url [: - 1 ] ,'.json' )
27
+ self .base_url = "%s%s" % (self .base_url ,'.json' )
26
28
print "Calling %s" % self .base_url
27
29
return self .get (self .base_url ,** kwargs )
28
30
@@ -34,6 +36,11 @@ def post(self,**kwargs):
34
36
r = requests .post (** kwargs )
35
37
return json .loads (r .content )
36
38
39
+
40
+ Twitter = RestConsumer (base_url = 'https://api.twitter.com/1' ,append_json = True )
41
+ Github = RestConsumer (base_url = 'https://api.github.com' )
42
+ Stackoverflow = RestConsumer (base_url = 'http://api.stackoverflow.com/1.1' )
43
+
37
44
if __name__ == '__main__' :
38
45
from pprint import pprint
39
46
t = RestConsumer (base_url = 'https://api.twitter.com/1' ,append_json = True )
@@ -48,7 +55,6 @@ def post(self,**kwargs):
48
55
sr = s .users ['55562' ].questions .unanswered ()
49
56
pprint (sr )
50
57
51
- st2 = RestConsumer (base_url = 'http://api.stackoverflow.com/1.1' )
52
- sr2 = st2 .tags .python ['top-answerers' ]['all-time' ]
58
+ sr2 = s .tags .python ['top-answerers' ]['all-time' ]
53
59
pprint (sr2 ())
54
60
0 commit comments