@@ -80,12 +80,17 @@ def __init__(self, client_id, client_secret, access_token=None, refresh_token=No
8080 if refresh_token is not None :
8181 self .auth = AuthWrapper (access_token , refresh_token , client_id , client_secret )
8282
83+ self .credits = self .get_credits ()
84+
8385 def set_user_auth (self , access_token , refresh_token ):
8486 self .auth = AuthWrapper (access_token , refresh_token , self .client_id , self .client_secret )
8587
8688 def get_client_id (self ):
8789 return self .client_id
8890
91+ def get_credits (self ):
92+ return self .make_request ('GET' , 'credits' , None , True )
93+
8994 def get_auth_url (self , response_type = 'pin' ):
9095 return '%soauth2/authorize?client_id=%s&response_type=%s' % (API_URL , self .client_id , response_type )
9196
@@ -126,6 +131,14 @@ def make_request(self, method, route, data=None, force_anon=False):
126131 else :
127132 response = method_to_call (url , headers = header , data = data )
128133
134+ self .credits = {
135+ 'UserLimit' : response .headers .get ('X-RateLimit-UserLimit' ),
136+ 'UserRemaining' : response .headers .get ('X-RateLimit-UserRemaining' ),
137+ 'UserReset' : response .headers .get ('X-RateLimit-UserReset' ),
138+ 'ClientLimit' : response .headers .get ('X-RateLimit-ClientLimit' ),
139+ 'ClientRemaining' : response .headers .get ('X-RateLimit-ClientRemaining' )
140+ }
141+
129142 # Rate-limit check
130143 if response .status_code == 429 :
131144 raise ImgurClientRateLimitError ()
0 commit comments