Initial install method implementation

This commit is contained in:
Евгений Титаренко 2022-10-01 18:49:58 +03:00
parent c339f1ea08
commit 2ebc84ca2c
3 changed files with 47 additions and 9 deletions

14
api.py
View file

@ -1,15 +1,16 @@
#from objects.api-objects import *
import requests
from tqdm import tqdm
import json
API_VERSION = "v2"
HEADERS = {
'User-Agent': 'mc-get-testing'
}
def download(file_url:str, file_size:int):
def download(file_url:str, file_size:int, path:str):
resp = requests.get(file_url, stream=True, headers=HEADERS)
with open(file_url.split("/")[-1],'wb') as file:
with open(path,'wb') as file:
for data in tqdm(resp.iter_content(), total=file_size,\
unit_scale=True, unit="byte"):
file.write(data)
@ -25,9 +26,14 @@ def __method(method:str, api_version:str=API_VERSION):
print(f"{api_url}/{api_version}{method}{sub_method}")
resp = requests.get(f"{api_url}/{api_version}{method}{sub_method}",\
params=args, headers=HEADERS)
print(resp.headers.get("X-Ratelimit-Remaining",-1))
match resp.status_code:
case 200:
print("200: OK")
if type(resp.json()) == list:
return [type(method, (object,), obj)\
for obj in resp.json()]
return type(method, (object,), resp.json())
case 400:
#invalid request
print("400: ERROR")
@ -40,12 +46,12 @@ def __method(method:str, api_version:str=API_VERSION):
no authorization to see this project
'''
print("404: ERROR")
return type(method, (object,), resp.json())
resp.raise_for_status()
return request
test = __method("", "")
search = __method("/search")
project = __method("/project")
version = __method("/version")
versions = __method("/versions")