Spaces:
Runtime error
Runtime error
| 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) | |