42 lines
1.1 KiB
Python
42 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)
|