diff --git a/.gitignore b/.gitignore index c19a34b..7090bad 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ dist/ __pycache__/ src/macaronipm/__pycache__ -src/macaronipm/__pycache__/project.cpython-314.pyc + +src/test.py \ No newline at end of file diff --git a/src/macaronipm/error.py b/src/macaronipm/error.py index ac227dc..1071c67 100644 --- a/src/macaronipm/error.py +++ b/src/macaronipm/error.py @@ -6,8 +6,15 @@ from colorist import ColorHex ORANGE = ColorHex("#ff8800") def rerror(code, jsonr): + error_ = json.loads(jsonr.decode())["error"] + 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 + print(f"Response from url: {Effect.BOLD}{Effect.UNDERLINE}{error_}{Effect.OFF}") + + if error_ == "Project not found": + print(f"{ORANGE}{Effect.BOLD}Hint: Try checking to see if the PID is correct!{Effect.OFF}") + elif error_ == "NotFound": + print(f"{ORANGE}{Effect.BOLD}Hint: Try checking to see if the username is correct{Effect.OFF}") + elif error_ == "Reauthenticate": + print(f"{ORANGE}{Effect.BOLD}Hint: Try checking to see if the token is correct or try to get a new token.{Effect.OFF}") \ No newline at end of file diff --git a/src/macaronipm/misc.py b/src/macaronipm/misc.py index 517454b..34bd328 100644 --- a/src/macaronipm/misc.py +++ b/src/macaronipm/misc.py @@ -1,6 +1,6 @@ +from. import error import requests import json -from colorist import Color from colorist import Effect from colorist import ColorHex @@ -23,9 +23,7 @@ def follow(target, toggle): if not response.status_code == 200: - print(f"MacaroniPM: {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 return 0 @@ -37,9 +35,7 @@ def getFeatured(): 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 return response.text.split() @@ -50,9 +46,7 @@ def getStats(): 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 return json.loads(response.content) \ No newline at end of file diff --git a/src/macaronipm/project.py b/src/macaronipm/project.py index 8207b18..0c8006e 100644 --- a/src/macaronipm/project.py +++ b/src/macaronipm/project.py @@ -4,8 +4,6 @@ import io import requests import json import base64 -from colorist import Color -from colorist import Effect def getThumbnail(): url = f"https://projects.penguinmod.com/api/v1/projects/getproject?projectID={misc.PID}&requestType=thumbnail" @@ -25,9 +23,7 @@ def getMeta(): 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 return json.loads(response.content) @@ -40,9 +36,7 @@ def loveToggle(toggle): response = requests.post(url, headers=headers, data=data) 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 return 0 @@ -56,9 +50,7 @@ def voteToggle(toggle): 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 return 0 @@ -69,9 +61,7 @@ def getRankedProjects(page): 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 return json.loads(response.content) @@ -82,9 +72,7 @@ def hasLovedVoted(): 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 return json.loads(response.content) @@ -95,9 +83,7 @@ def getFrontpage(): 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 return json.loads(response.content) diff --git a/src/macaronipm/user.py b/src/macaronipm/user.py index a631298..39257a3 100644 --- a/src/macaronipm/user.py +++ b/src/macaronipm/user.py @@ -1,33 +1,28 @@ from . import misc +from . import error import io import requests import json import base64 -from colorist import Color -from colorist import Effect def getMeta(target): - url = f"https://projects.penguinmod.com/api/v1/users/profile?target={target}&token={misc.misc.TOKEN}" + url = f"https://projects.penguinmod.com/api/v1/users/profile?target={target}" 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 return json.loads(response.content) def isBlocking(target): - url = f"https://projects.penguinmod.com/api/v1/users/hasblocked?target={target}&token={misc.misc.TOKEN}" + url = f"https://projects.penguinmod.com/api/v1/users/hasblocked?target={target}&token={misc.TOKEN}" 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 jsons = json.loads(response.content.decode()) @@ -39,9 +34,7 @@ def getPfp(target): 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') @@ -53,9 +46,7 @@ def userExist(target): 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 @@ -67,9 +58,7 @@ def isBanned(target): 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 @@ -78,15 +67,13 @@ def isBanned(target): def logout(): url = "https://projects.penguinmod.com/api/v1/users/logout" - data = f'{{"token":"{misc.misc.TOKEN}"}}' + data = f'{{"token":"{misc.TOKEN}"}}' headers = {'Content-type': 'application/json'} response = requests.post(url, headers=headers, data=data) 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 return 0 @@ -97,9 +84,7 @@ def getMessages(): 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 jsons = json.loads(response.content.decode()) @@ -111,9 +96,7 @@ def getUnreadMessages(): 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 jsons = json.loads(response.content.decode())