import json import requests # BASE_URL = "https://caffeinecrew-techdocs.hf.space" BASE_URL = "http://127.0.0.1:8000" def get_access_token(data, return_refresh_token=False): try: url = BASE_URL + "/auth/login" headers = { "accept": "application/json", } data = json.dumps(data) response = requests.post(url, data=data, headers=headers) access_token = response.json()['access_token'] if return_refresh_token: refresh_token = response.json()['refresh_token'] return access_token, refresh_token return access_token except Exception as e: print("Invlaid Credentials") return None def request_inference(config, code_block, max_retries=1): if max_retries == 0: return None url = BASE_URL+"/api/inference" headers={"accept":"application/json", "Authorization": f"Bearer {config['access_token']}"} code_input = code_block response = requests.post(url=url, headers=headers, data=json.dumps({'code_block':code_input, 'api_key':config['api_key']})) if response.status_code == 200: return response.json()["docstr"] else: data = { "username":config['username'], "password":config['password'] } print("Encountered error retrying...") config.update({"access_token":get_access_token(data)}) return request_inference(config, code_block, max_retries=max_retries-1) def update_file(file_path, docstr_code): with open(file_path, "w",errors='ignore') as file: file.write(docstr_code) def issue_api_key(config): try: headers={"accept":"application/json", "Authorization": f"Bearer {config['access_token']}"} response = requests.put(url=BASE_URL + "/auth/regenerate_api_key", headers=headers, data=json.dumps({"username": config['username']}) ) if (response.status_code!=200): raise Exception("API Key Generation Failed") print(f"$ API_KEY: {response.json()['api_key']}") except Exception as e: print(f"$ {e}") def signup(config): try: headers={"accept":"application/json"} response = requests.post(url=BASE_URL + "/auth/signup", headers=headers, data=json.dumps(config)) if (response.status_code==226): raise Exception("username or email already exists") elif (response.status_code!=200): raise Exception("Something went wrong, please try again later") print("Signed up successfully, please issue a new `API_KEY` to continue") except Exception as e: print(e)