27 lines
705 B
Python
Executable File
27 lines
705 B
Python
Executable File
#!/usr/bin/env python3
|
|
# Exercise the button/ADC QOM interface: qmp-qom.py <sock> get|set <path> <prop> [value]
|
|
import json
|
|
import socket
|
|
import sys
|
|
|
|
sock = socket.socket(socket.AF_UNIX)
|
|
sock.connect(sys.argv[1])
|
|
f = sock.makefile("rw")
|
|
json.loads(f.readline())
|
|
|
|
|
|
def cmd(command):
|
|
f.write(json.dumps(command) + "\n")
|
|
f.flush()
|
|
return json.loads(f.readline())
|
|
|
|
|
|
cmd({"execute": "qmp_capabilities"})
|
|
op, path, prop = sys.argv[2], sys.argv[3], sys.argv[4]
|
|
if op == "set":
|
|
print(cmd({"execute": "qom-set", "arguments": {
|
|
"path": path, "property": prop, "value": int(sys.argv[5])}}))
|
|
else:
|
|
print(cmd({"execute": "qom-get", "arguments": {
|
|
"path": path, "property": prop}}))
|