89 lines
2.4 KiB
Python
89 lines
2.4 KiB
Python
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
|