36
utils/aio_print_api.py
Normal file
36
utils/aio_print_api.py
Normal file
@@ -0,0 +1,36 @@
|
||||
import requests
|
||||
|
||||
class AIOPrrintSystemAPI:
|
||||
def __init__(self, api_url="http://127.0.0.1:5001/api/v1", api_key=""):
|
||||
self.api_url = api_url
|
||||
self.api_key = api_key
|
||||
self.headers = {"X-Api-Key": self.api_key}
|
||||
|
||||
def _post_action(self, method, **kwargs):
|
||||
url = f"{self.api_url}/octoprint_client"
|
||||
payload = {"method": method, "kwargs": kwargs}
|
||||
try:
|
||||
r = requests.post(url, json=payload, headers=self.headers, timeout=5)
|
||||
return r.json()
|
||||
except:
|
||||
return None
|
||||
|
||||
def print(self, *args, **kwargs):
|
||||
pass
|
||||
|
||||
def get_status(self):
|
||||
url = f"{self.api_url}/status"
|
||||
try:
|
||||
r = requests.get(url, headers=self.headers, timeout=5)
|
||||
r.raise_for_status()
|
||||
return r.json()
|
||||
except:
|
||||
return {"status": {}, "job": {}}
|
||||
|
||||
def pause_print(self):
|
||||
return self._post_action("pause_print", action="pause")
|
||||
|
||||
def stop_print(self):
|
||||
return self._post_action("cancel_print")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user