43 lines
1.1 KiB
Python
43 lines
1.1 KiB
Python
|
"""A quick and dirty octoprint status screen"""
|
||
|
|
||
|
from configparser import ConfigParser
|
||
|
import os
|
||
|
|
||
|
from octorest.client import OctoRest
|
||
|
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
config = ConfigParser()
|
||
|
config.read(os.path.expanduser("~/.config/octoprint-cli.ini"))
|
||
|
|
||
|
client = OctoRest(url="http://" + config["server"]["ServerAddress"],
|
||
|
apikey=config["server"]["ApiKey"])
|
||
|
|
||
|
for line in open(sys.argv[1], "r"):
|
||
|
l = line.split(";")[0]
|
||
|
l = l.strip()
|
||
|
if not l:
|
||
|
continue
|
||
|
|
||
|
while True:
|
||
|
print(f"\n> {l}")
|
||
|
cmd = input("[seq?] >>> ")
|
||
|
if cmd == "s":
|
||
|
client.gcode(l)
|
||
|
break
|
||
|
elif cmd == "e":
|
||
|
client.gcode("M112")
|
||
|
elif cmd == "q":
|
||
|
exit(0)
|
||
|
elif cmd == "n":
|
||
|
break
|
||
|
elif cmd == "?":
|
||
|
print("""\
|
||
|
s[tep] - run the next g-code line in the file
|
||
|
n[ext] - skip this line
|
||
|
e[stop] - issue an emergency stop
|
||
|
q[uit] - exit the debugger""")
|
||
|
|
||
|
else:
|
||
|
client.gcode(line)
|