From 3c661d53c8c5b197e38fd36118f872cef4e405c6 Mon Sep 17 00:00:00 2001 From: koffeejava Date: Fri, 30 Jan 2026 21:00:07 -0700 Subject: [PATCH] Created error handler. --- .gitignore | 7 ++++++- .../__pycache__/project.cpython-314.pyc | Bin 6741 -> 7224 bytes src/macaronipm/error.py | 13 +++++++++++++ src/macaronipm/project.py | 18 +++++++++++++++--- src/test.py | 4 ++-- 5 files changed, 36 insertions(+), 6 deletions(-) create mode 100644 src/macaronipm/error.py 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 6e2f42503358807e87fae3cd221325c0a635cbb6..87a692c2be04cb98221fc6b025845a0fda55a876 100644 GIT binary patch delta 1507 zcmbVMO>7%Q6rS0?*ok)=$FcL*#11KLt)RA~rV1ofRcWG_LK9h01SkTGy#!MyYu-*G zfmG@Uap3@@k9&`8&gr4oRzl)h0V=E%p>jcRsscAIyf>yLM9QTr%{Mdey?yh&pP3(v zcP71Y&+QcSrLJDB-}Sb<{-qY}THa!rfF1Ur8N%ZegfxyC2I&k;%~4G|J|Zkq{FGQM9pSzJq_5dFf%&%4fhL zi^u^@H0r1ZYsz0!xM}5MkyG=lLCwdT)@PlAWX5d6Z?I@j^?jB2BJuSb57LGE>B6na z2jf%s$ESXXP4E0>uNp%!vil^R2mhmWKU9k!H~p7aeO0MdR0VIDQtY#1@O$>5u z%(P&X!C`oYVT|Dz!?O%eh(eyW+jiurU}dG@6X6L`(-81HgXYc-^Evw3^gA2DhQHXh zpCr{7&bzcCem4U3*zZfEpSYfUD2MQrH?Z?}a>6(~ zG2VgtJY^aRCZ)2n!bx}>Id=d>uHznvl2o^HW$lVzTY%t0zp6qwM+O)0+urXe{x8!v z4kuaIS3M~50srr*r{oOB$<@B*%81DQpc1}D6{;;!I%{yA4Ce7(KUD}%Is@@v>FTva zSv2volf_|~#7!@Sk31LO>bWQ-w!92xJ6yci)1ckMOfOyI&;MQRrd;_VUNTR=`99EX z)X6%u&eI&^0eT`zP!4CG{Ct6ImT81{2wLK�=)*x3BS=QAkFj-SGMb^pL2XGTp`9 zw2flbpbm)nrW(ZR$t>g@Mj0-6|H#0P+X}B)s>piKq?FRydex%SB1Gpcv2*< zC5Z6u?W8hnn3(=A6fB$6QMW3M;v!768M|t8nCP<`8&*-s!DyWF=1cW04SR;kY8v$2 zksFeG(P&_G-o z8jfahZgcs8WoS(PWSNMg)p?~RxC%cxN`Ceh*W?XjFzy&dyC$rfaP*Q@v`dzwEX~cy ztdf!I%2VGksC(gS{E%OjN!d<5ZqBM@Mh*E&PwsLL9C1A7m|yNk1OR3iS8yIggb-mw z7or=1Ztxz2hKL}dh!`S{NFaIZo|t^I14Uc1;6+eL>kb* zfHP?r+;!hqwYRP1WBqGzG$Pynwj04FQ%%^AW;iu-Ru~*EAbcF~m)&h!oY=h%=cDpP z_%j`mhk?H4v#u;VGc#uBd@5!tkjp|Dvv3kR_5_6P2Hxj%L*ep;+NM>?ar+@WjRv0r zg&BD-@*WZ}5Z(WWlYf+tkKzUA(q%jYrcT-m$`dC}@Ij$*2TD|0fqa(uG$`a`KGELA zcWQ5@wZ6uh$N55g^n7aqn&;~z0^qtX|OX80;FO2 JJqd74{{mUp^gsXr 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