import requests import json import base64 from pprint import pprint proxies = { 'http': "localhost:8080" } class gotipy(object): def __init__(self, token, url): self.token = token self.url = url self.headers = {'X-Gotify-Key' : self.token} ## Auth Function def basicAuth(self, user, passwd): self.user = user self.passwd = passwd self.string = self.user + ':' + self.passwd self.encoded = base64.b64encode(self.string.encode("utf-8")) print(self.string.encode('utf-8')) self.headers["authorization"] = "Basic " + base64.b64encode(self.string) print(self.encoded) return self.headers ## Token Functions def getApplications(self): self.requrl = self.url + '/application' req = requests.get(self.requrl, headers=self.headers) try: return req.json()['error'] except: return req.json() def createApplication(self, name, description): self.name = name self.description = description self.requrl = self.url + '/application' data = {} data["name"] = self.name data["description"] = self.description req = requests.post(self.requrl, headers=self.headers, json=data) pprint(req) return req def deleteApplication(self, appid): self.appid = appid self.requrl = self.url + '/application/' + self.appid req = requests.delete(self.requrl, headers=self.headers) return req def updateApplicationImage(self, appid, imgData): self.id = appid self.imgData = { 'file': imgData} self.requrl = self.url + '/application/' + self.id + '/image' req = requests.post(self.requrl, headers=self.headers, files=self.imgData) return req def getClients(self): self.requrl = self.url + '/client' req = requests.get(self.requrl, headers=self.headers) return req ## Message Functions def sendMessage(self, title, message): self.title = title self.message = message self.requrl = self.url + '/message' #define a new dict for the message data = {} data["message"] = self.message data["title"] = self.title req = requests.post(self.requrl, headers=self.headers, json=data) try: return req.json()['error'] except: return "Message Sent :)" ## User Functions