From 156ca66e5c0a9cfc950417c0f5d0276fe5e7558c Mon Sep 17 00:00:00 2001 From: Kai Kosades Date: Thu, 3 Feb 2022 13:39:56 +0200 Subject: [PATCH] Added simple python client for APi --- ClientAPI/clien.py | 63 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 ClientAPI/clien.py diff --git a/ClientAPI/clien.py b/ClientAPI/clien.py new file mode 100644 index 0000000..1a4aa84 --- /dev/null +++ b/ClientAPI/clien.py @@ -0,0 +1,63 @@ +import requests as req +import json + + +class BarApiClient: + def __init__(self, link): + self.link = link + + def check_code(self, code): + return 200 <= code < 300 + + def GetMenu(self): + apiLink = self.link + "/api/menu" + + resp = req.get(apiLink) + + if self.check_code(resp.status_code): + deser = json.loads(resp.text) + return deser + else: + return None + + def GetDrink(self, drinkName): + apiLink = self.link + "/api/menu/" + drinkName + + resp = req.get(apiLink) + if self.check_code(resp.status_code): + return json.load(resp.text) + else: + return None + + def Add(self, name, price): + apiLink = self.link + "/api/menu" + + pload = json.dumps({'name': name, 'price': price}) + headers = {"accept": "*/*", "Content-Type": "application/json"} + + resp = req.post(apiLink, headers=headers, data=pload) + if self.check_code(resp.status_code): + print(f"Added {name}") + else: + print(resp) + + def ChangePrice(self, name, newPrice): + apiLink = self.link + "/api/menu/" + name + + pload = json.dumps({'price': newPrice}) + headers = {"accept": "*/*", "Content-Type": "application/json"} + + resp = req.post(apiLink, headers=headers, data=pload) + if self.check_code(resp.status_code): + print(f"Changed price of {name} to {newPrice}") + else: + print(resp) + + def DeleteDrink(self, name): + apiLink = self.link + "/api/menu/" + name + + resp = req.delete(apiLink) + if self.check_code(resp.status_code): + print(f"Deleted {name}") + else: + print(resp)