33 lines
838 B
Python
33 lines
838 B
Python
import json
|
|
import requests
|
|
import logging
|
|
|
|
logger = logging.getLogger("KlipperScreen.KlippyRest")
|
|
|
|
class KlippyRest:
|
|
def __init__(self, ip, port=7125):
|
|
self.ip = ip
|
|
self.port = port
|
|
|
|
def get_server_info(self):
|
|
return self.send_request("server/info")
|
|
|
|
def get_printer_info(self):
|
|
return self.send_request("printer/info")
|
|
|
|
def send_request(self, method):
|
|
url = "http://%s:%s/%s" % (self.ip, self.port, method)
|
|
logger.debug("Sending request to %s" % url)
|
|
r = requests.get(url)
|
|
if r.status_code != 200:
|
|
return False
|
|
|
|
#TODO: Try/except
|
|
try:
|
|
data = json.loads(r.content)
|
|
except:
|
|
logger.exception("Unable to parse response from moonraker:\n %s" % r.content)
|
|
return False
|
|
|
|
return data
|