sync
This commit is contained in:
108
tool/buzz.py
108
tool/buzz.py
@@ -22,6 +22,10 @@ def main():
|
||||
# Subparser für Befehle
|
||||
subparsers = parser.add_subparsers(dest="command", help="Verfügbare Befehle")
|
||||
|
||||
# Befehl: crc32
|
||||
crc32_parser = subparsers.add_parser("crc32", help="CRC32-Checksumme einer Datei oder eines Verzeichnisses berechnen")
|
||||
crc32_parser.add_argument("path", help="Pfad der Datei auf dem Zielsystem")
|
||||
|
||||
# Befehl: flash_info
|
||||
flash_info_parser = subparsers.add_parser("flash_info", help="Informationen über den Flash-Speicher des Controllers abfragen")
|
||||
|
||||
@@ -41,6 +45,21 @@ def main():
|
||||
# Befehl: proto
|
||||
proto_parser = subparsers.add_parser("proto", help="Protokollversion des Controllers abfragen")
|
||||
|
||||
# Befehl: put_file
|
||||
put_file_parser = subparsers.add_parser("put_file", help="Datei auf das Zielsystem hochladen")
|
||||
put_file_parser.add_argument("source_path", help="Pfad der Datei auf dem lokalen System")
|
||||
put_file_parser.add_argument("dest_path", help="Zielpfad auf dem Zielsystem")
|
||||
put_file_parser.add_argument("-t", "--tags", help="Optionale JSON Tags für den Upload", type=str)
|
||||
|
||||
# Befehl: get_tags
|
||||
get_tags_parser = subparsers.add_parser("get_tags", help="Tags einer Datei anzeigen")
|
||||
get_tags_parser.add_argument("path", help="Pfad der Datei auf dem Zielsystem")
|
||||
|
||||
# Befehl: put_tags
|
||||
put_tags_parser = subparsers.add_parser("put_tags", help="Tags schreiben")
|
||||
put_tags_parser.add_argument("path", help="Pfad der Datei auf dem Zielsystem")
|
||||
put_tags_parser.add_argument("json", help="JSON String (z.B. '{\"json\": {\"t\": \"Titel\"}}')")
|
||||
put_tags_parser.add_argument("-o", "--overwrite", help="Alle bestehenden JSON-Tags vorher löschen", action="store_true")
|
||||
# Befehl: rename
|
||||
rename_parser = subparsers.add_parser("rename", help="Benennen Sie eine Datei oder einen Ordner auf dem Zielsystem um")
|
||||
rename_parser.add_argument("source_path", help="Aktueller Pfad der Datei/des Ordners auf dem Zielsystem")
|
||||
@@ -54,6 +73,32 @@ def main():
|
||||
stat_parser = subparsers.add_parser("stat", help="Informationen zu einer Datei/Ordner")
|
||||
stat_parser.add_argument("path", help="Pfad auf dem Zielsystem")
|
||||
|
||||
# Befehl: put_fw
|
||||
put_fw_parser = subparsers.add_parser("put_fw", help="Firmware-Image auf den Controller hochladen")
|
||||
put_fw_parser.add_argument("file_path", help="Pfad zur Firmware-Datei auf dem lokalen System")
|
||||
|
||||
# Befehl: confirm_fw
|
||||
confirm_fw_parser = subparsers.add_parser("confirm_fw", help="Bestätigt ein als 'Testing' markiertes Firmware-Image, damit es beim permanent wird")
|
||||
|
||||
# Befehl: reboot
|
||||
reboot_parser = subparsers.add_parser("reboot", help="Neustart des Controllers")
|
||||
|
||||
# Befehl: play
|
||||
play_parser = subparsers.add_parser("play", help="Startet die Wiedergabe einer Datei")
|
||||
play_parser.add_argument("path", help="Pfad der Datei auf dem Zielsystem")
|
||||
play_parser.add_argument("-i", "--interrupt", help="Sofortige Wiedergabe (Interrupt)", action="store_true")
|
||||
|
||||
# Befehl: stop
|
||||
stop_parser = subparsers.add_parser("stop", help="Stoppt die aktuelle Wiedergabe")
|
||||
|
||||
# Befehl: set
|
||||
set_parser = subparsers.add_parser("set", help="System-Einstellung setzen")
|
||||
set_parser.add_argument("key", help="Schlüssel (z.B. audio/vol)")
|
||||
set_parser.add_argument("value", help="Wert")
|
||||
|
||||
# Befehl: get
|
||||
get_parser = subparsers.add_parser("get", help="System-Einstellung auslesen")
|
||||
get_parser.add_argument("key", help="Schlüssel (z.B. audio/vol)")
|
||||
args = parser.parse_args()
|
||||
|
||||
if not args.command:
|
||||
@@ -103,7 +148,12 @@ def main():
|
||||
|
||||
try:
|
||||
bus.open()
|
||||
if args.command == "get_file":
|
||||
if args.command == "crc32":
|
||||
from core.cmd.crc32 import crc32
|
||||
cmd = crc32(bus)
|
||||
result = cmd.get(args.path)
|
||||
cmd.print(result, args.path)
|
||||
elif args.command == "get_file":
|
||||
from core.cmd.get_file import get_file
|
||||
cmd = get_file(bus)
|
||||
result = cmd.get(args.source_path, args.dest_path)
|
||||
@@ -128,6 +178,11 @@ def main():
|
||||
cmd = proto(bus)
|
||||
result = cmd.get()
|
||||
cmd.print(result)
|
||||
elif args.command == "put_file":
|
||||
from core.cmd.put_file import put_file
|
||||
cmd = put_file(bus)
|
||||
result = cmd.get(args.source_path, args.dest_path)
|
||||
cmd.print(result)
|
||||
elif args.command == "rename":
|
||||
from core.cmd.rename import rename
|
||||
cmd = rename(bus)
|
||||
@@ -143,7 +198,56 @@ def main():
|
||||
cmd = stat(bus)
|
||||
result = cmd.get(args.path)
|
||||
cmd.print(result, args.path)
|
||||
|
||||
elif args.command == "put_file":
|
||||
from core.cmd.put_file import put_file
|
||||
cmd = put_file(bus)
|
||||
result = cmd.get(args.source_path, args.dest_path, cli_tags_json=args.tags)
|
||||
cmd.print(result)
|
||||
elif args.command == "get_tags":
|
||||
from core.cmd.get_tags import get_tags
|
||||
cmd = get_tags(bus)
|
||||
result = cmd.get(args.path)
|
||||
cmd.print(result, args.path)
|
||||
elif args.command == "put_tags":
|
||||
from core.cmd.put_tags import put_tags
|
||||
cmd = put_tags(bus)
|
||||
result = cmd.get(args.path, args.json, overwrite=args.overwrite)
|
||||
cmd.print(result, args.path)
|
||||
elif args.command == "confirm_fw":
|
||||
from core.cmd.fw_confirm import fw_confirm
|
||||
cmd = fw_confirm(bus)
|
||||
result = cmd.get()
|
||||
cmd.print(result)
|
||||
elif args.command == "put_fw":
|
||||
from core.cmd.put_fw import put_fw
|
||||
cmd = put_fw(bus)
|
||||
result = cmd.get(args.file_path)
|
||||
cmd.print(result)
|
||||
elif args.command == "reboot":
|
||||
from core.cmd.reboot import reboot
|
||||
cmd = reboot(bus)
|
||||
result = cmd.get()
|
||||
cmd.print(result)
|
||||
elif args.command == "play":
|
||||
from core.cmd.play import play
|
||||
cmd = play(bus)
|
||||
result = cmd.get(args.path, interrupt=args.interrupt)
|
||||
cmd.print(result, args.path, interrupt=args.interrupt)
|
||||
elif args.command == "stop":
|
||||
from core.cmd.stop import stop
|
||||
cmd = stop(bus)
|
||||
result = cmd.get()
|
||||
cmd.print(result)
|
||||
elif args.command == "set":
|
||||
from core.cmd.set_setting import set_setting
|
||||
cmd = set_setting(bus)
|
||||
result = cmd.get(args.key, args.value)
|
||||
cmd.print(result, args.key, args.value)
|
||||
elif args.command == "get":
|
||||
from core.cmd.get_setting import get_setting
|
||||
cmd = get_setting(bus)
|
||||
result = cmd.get(args.key)
|
||||
cmd.print(result, args.key)
|
||||
finally:
|
||||
bus.close()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user