Exemple #1
0
 def auth(self, facebook_id, facebook_token):
     data = {"facebook_id": str(facebook_id), "facebook_token": facebook_token}
     result = self._session.post(
         self._url('/auth'), json=data, proxies=self._proxies).json()
     if 'token' not in result:
         raise errors.RequestError("Couldn't authenticate")
     self._token = result['token']
     self._session.headers.update({"X-Auth-Token": str(result['token'])})
     return result
Exemple #2
0
 def auth(self, facebook_id, facebook_token):
     data = {"token": facebook_token}
     result = requests.post(self._full_url('/v2/auth/login/facebook'),
                            json=data,
                            proxies=self._proxies,
                            headers=constants.HEADERS)
     if result.status_code == 200:
         json_result = result.json()
         if 'api_token' not in json_result['data']:
             raise errors.RequestError("Couldn't authenticate")
         else:
             self._token = json_result['data']['api_token']
             self._headers["X-Auth-Token"] = str(self._token)
             self._session.headers.update(self._headers)
             return json_result['data']
     else:
         err = "Couldn't authenticate request status code: " + str(
             result.status_code)
         raise errors.RequestError(err)
Exemple #3
0
 def _request(self, method, url, data={}):
     if not hasattr(self, '_token'):
         raise errors.InitializationError
     result = self._session.request(method, self._url(
         url), json=data, proxies=self._proxies)
     while result.status_code == 429:
         blocker = threading.Event()
         blocker.wait(0.01)
         result = self._session.request(method, self._url(
             url), data=data, proxies=self._proxies)
     if result.status_code < 200 or result.status_code >= 300:
         raise errors.RequestError(result.status_code)
     if result.status_code == 201 or result.status_code == 204:
         return {}
     return result.json()
Exemple #4
0
 def _request(self, method, url, data=None, params=None):
     if not hasattr(self, '_token'):
         raise errors.InitializationError
     result = self._session.request(
         method,
         self._full_url(url),
         json=data,
         params=params,
         proxies=self._proxies,
     )
     if result.status_code == 429:
         raise errors.RateLimitError
     # while result.status_code == 429:
     #     blocker = threading.Event()
     #     blocker.wait(0.01)
     #     result = self._session.request(method, self._full_url(
     #         url), data=data, params=params, proxies=self._proxies)
     if result.status_code < 200 or result.status_code >= 300:
         raise errors.RequestError(result.status_code)
     if result.status_code == 201 or result.status_code == 204:
         return {}
     return result.json()
Exemple #5
0
 def superlike(self, user):
     result = self._post("/like/{}/super".format(user))
     if 'limit_exceeded' in result and result['limit_exceeded']:
         raise errors.RequestError("Superlike limit exceeded")
     return result
Exemple #6
0
 def like(self, user):
     ans = self._get("/like/{}".format(user))
     if 'rate_limited_until' in ans:
         raise errors.RequestError('Like limit exceeded')
     return ans