gotipy/gotipy.py
benjamyn 51eb2e9f2d Added in basicAuth
Added in updateApplicationImage
Added in getClients

Added in deep regret at forgetting a headers=self.headers
2018-11-10 19:55:08 +11:00

93 lines
2.6 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, user, passwd):
self.user = user
self.passwd = passwd
self.requrl = self.url + '/client'
print(self.headers)
req = requests.get(self.requrl, headers=self.headers, proxies=proxies)
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