23 lines
592 B
Python
23 lines
592 B
Python
import requests
|
|
import justserv
|
|
import copy
|
|
|
|
class OnlineState:
|
|
def __init__(self, appname = None):
|
|
if appname is None:
|
|
appname = ""
|
|
self.__url = "{}/{}".format(justserv.URL, appname)
|
|
self.__laststate = {}
|
|
|
|
def getState(self):
|
|
s = eval(requests.get(self.__url).text)
|
|
self.__laststate = copy.deepcopy(s)
|
|
return s
|
|
|
|
def patch(self, newstate):
|
|
d = justserv.patch.diff(self.__laststate, newstate)
|
|
ns = eval(requests.patch(self.__url, data=str(d)).text)
|
|
self.__laststate = ns.copy()
|
|
return ns
|
|
|