diff --git a/.gitignore b/.gitignore index 7773828..c19a34b 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,6 @@ -dist/ \ No newline at end of file +dist/ + +__pycache__/ + +src/macaronipm/__pycache__ +src/macaronipm/__pycache__/project.cpython-314.pyc diff --git a/src/macaronipm/__pycache__/project.cpython-314.pyc b/src/macaronipm/__pycache__/project.cpython-314.pyc index 6e2f425..87a692c 100644 Binary files a/src/macaronipm/__pycache__/project.cpython-314.pyc and b/src/macaronipm/__pycache__/project.cpython-314.pyc differ diff --git a/src/macaronipm/error.py b/src/macaronipm/error.py new file mode 100644 index 0000000..ac227dc --- /dev/null +++ b/src/macaronipm/error.py @@ -0,0 +1,13 @@ +import json +from colorist import Color +from colorist import Effect +from colorist import ColorHex + +ORANGE = ColorHex("#ff8800") + +def rerror(code, jsonr): + print(f"{Color.RED}MacaroniPM: An error has occured!") + print(f"Status code: {code}") + print(f"Response from url: {Effect.BOLD}{Effect.UNDERLINE}{json.loads(jsonr.decode())["error"]}{Effect.OFF}") + if json.loads(jsonr.decode())["error"]) == "Project not found": + print(f"{Color.RED}Hint: ") \ No newline at end of file diff --git a/src/macaronipm/project.py b/src/macaronipm/project.py index 49cddf1..8207b18 100644 --- a/src/macaronipm/project.py +++ b/src/macaronipm/project.py @@ -1,4 +1,5 @@ from . import misc +from. import error import io import requests import json @@ -12,9 +13,7 @@ def getThumbnail(): response = requests.get(url) if not response.status_code == 200: - print(f"{Color.RED}Something went wrong!") - print(f"Status code: {response.status_code}") - print(f"Response from url: {Effect.BOLD}{Effect.UNDERLINE}{json.loads(response.content.decode())["error"]}{Effect.OFF}") + error.rerror(response.status_code, response.content) return -1 base64_data = base64.b64encode(io.BytesIO(response.content).read()).decode('utf-8') @@ -89,3 +88,16 @@ def hasLovedVoted(): return -1 return json.loads(response.content) + +def getFrontpage(): + url = f"https://projects.penguinmod.com/api/v1/projects/frontpage" + + response = requests.get(url) + + if not response.status_code == 200: + print(f"{Color.RED}Something went wrong!") + print(f"Status code: {response.status_code}") + print(f"Response from url: {Effect.BOLD}{Effect.UNDERLINE}{json.loads(response.content.decode())["error"]}{Effect.OFF}") + return -1 + + return json.loads(response.content) diff --git a/src/test.py b/src/test.py index f217497..1a16cba 100644 --- a/src/test.py +++ b/src/test.py @@ -1,6 +1,6 @@ import macaronipm macaronipm.misc.setToken("6e5035471364acbbdb523dd05e903ccd48c3a60ea6d5ec14c485a833dccf555f") -macaronipm.misc.setProject("5284710295") +macaronipm.misc.setProject("528471029") -print(macaronipm.misc.getStats()) \ No newline at end of file +print(macaronipm.project.getThumbnail()) \ No newline at end of file