def refresh(self): token_query = { "client_id": CLIENT_ID, "client_secret": CLIENT_SECRET, "grant_type": "refresh_token", "refresh_token": self.refresh_token } token_resp = requests.get(urls.galaxy("token"), params=token_query) self.set_data(token_resp.json())
def from_code(login_code): token_query = { "client_id": CLIENT_ID, "client_secret": CLIENT_SECRET, "grant_type": "authorization_code", "code": login_code, "redirect_uri": REDIRECT_URL # Needed for origin verification } token_resp = requests.get(urls.galaxy("token"), params=token_query) token = Token() token.set_data(token_resp.json()) return token
def galaxy_product(self, game_id, expand=None): if not expand: params = {} elif expand is True: params = {"expand": ",".join(PRODUCT_EXPANDABLE)} else: params = {"expand": ",".join(expand)} if self.locale[2]: params["locale"] = self.locale[2] return self.get_json(urls.galaxy("product", game_id), params=params, authorized=False)
def galaxy_products(self, game_ids, expand=None): if not expand: params = {} elif expand is True: params = {"expand": ",".join(PRODUCT_EXPANDABLE)} else: params = {"expand": ",".join(expand)} if self.locale[2]: params["locale"] = self.locale[2] ids_string = ",".join(str(game_id) for game_id in game_ids) params["ids"] = ids_string return self.get_json(urls.galaxy("products"), params=params, authorized=False)
def galaxy_builds(self, game_id, system): return self.get_json(urls.galaxy("cs.builds", game_id, system), authorized=False)
def galaxy_friends_sessions(self, game_id, user_id=None): if user_id is None: user_id = self.token.user_id return self.get_json(urls.galaxy("friends.sessions", game_id, user_id))
def galaxy_friends_achievements(self, game_id, user_id=None): if user_id is None: user_id = self.token.user_id return self.get_json( urls.galaxy("friends.achievements", game_id, user_id))
def galaxy_statuses(self, user_ids): user_ids_str = ",".join(user_ids) params = {"user_id": user_ids_str} #self.request("OPTIONS", urls.galaxy("statuses"), params=params) return self.get_json(urls.galaxy("statuses"), params=params)
def get_auth_url(): redirect_url_quoted = urllib.parse.quote(REDIRECT_URL) return urls.galaxy("auth", client_id=CLIENT_ID, redir_uri=redirect_url_quoted)
def galaxy_invitations(self, user_id=None): if user_id is None: user_id = self.token.user_id return self.get_json(urls.galaxy("invitations", user_id))
def galaxy_friends(self, user_id=None): if user_id is None: user_id = self.token.user_id return self.get_json(urls.galaxy("friends", user_id))
def galaxy_user(self, user_id=None): if user_id is None: user_id = self.token.user_id return self.get_json(urls.galaxy("user", user_id))
def galaxy_file(self, game_id, dl_url): dl_url = dl_url.lstrip("/") return self.get_json(urls.galaxy("file", game_id, dl_url))
def galaxy_cs_meta(self, meta_id): return self.get_json(urls.galaxy("cs.meta", meta_id[0:2], meta_id[2:4], meta_id), compressed=True, authorized=False)
def galaxy_status(self, user_id=None): if user_id is None: user_id = self.token.user_id reqdata = {"version": CLIENT_VERSION} self.post(urls.galaxy("status", user_id), data=reqdata)
def galaxy_client_config(): return self.get_json(urls.galaxy("client-config"), authorized=False)
def galaxy_secure_link(self, game_id, path, generation): return self.get_json(urls.galaxy("cs.securelink", game_id), params={ "path": path, "generation": generation })