74 lines
2.1 KiB
Python
74 lines
2.1 KiB
Python
#!/usr/bin/env python3
|
|
"""Affiche les actions image photobooth-app en detail.
|
|
Usage: echo JSON | python3 display_actions.py [--file backup.json]
|
|
"""
|
|
|
|
import json, sys
|
|
|
|
def display_actions(actions):
|
|
defaults_proc = {
|
|
"remove_background": False,
|
|
"fill_background_enable": False,
|
|
"fill_background_color": "#ededed",
|
|
"img_background_enable": False,
|
|
"img_background_file": None,
|
|
"image_filter": "original",
|
|
"img_frame_enable": False,
|
|
"img_frame_file": None,
|
|
"texts_enable": False,
|
|
}
|
|
defaults_ui = {
|
|
"show_button": False,
|
|
"title": "",
|
|
"icon": "photo_camera",
|
|
"use_custom_color": False,
|
|
"custom_color": "#196cb0",
|
|
}
|
|
|
|
for i, a in enumerate(actions):
|
|
name = a["name"]
|
|
proc = a.get("processing", {})
|
|
ui = a.get("trigger", {}).get("ui_trigger", {})
|
|
|
|
print(f" [{i}] {name}")
|
|
|
|
proc_diffs = []
|
|
for key, default in defaults_proc.items():
|
|
val = proc.get(key, default)
|
|
if val != default and val is not None:
|
|
if key.endswith("_file") and val:
|
|
val = val.split("/")[-1]
|
|
proc_diffs.append(f"{key}: {val}")
|
|
|
|
if proc_diffs:
|
|
print(f" processing: {', '.join(proc_diffs)}")
|
|
|
|
show_button = ui.get("show_button", False)
|
|
if show_button:
|
|
ui_diffs = []
|
|
for key, default in defaults_ui.items():
|
|
val = ui.get(key, default)
|
|
if val != default:
|
|
ui_diffs.append(f"{key}: {val}")
|
|
|
|
if ui_diffs:
|
|
print(f" ui_trigger: {', '.join(ui_diffs)}")
|
|
|
|
print()
|
|
|
|
print(f" Total: {len(actions)} action(s)")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
if "--file" in sys.argv:
|
|
filepath = sys.argv[sys.argv.index("--file") + 1]
|
|
with open(filepath) as f:
|
|
data = json.load(f)
|
|
display_actions(data["image"])
|
|
else:
|
|
data = json.load(sys.stdin)
|
|
if "actions" in data:
|
|
display_actions(data["actions"]["image"])
|
|
elif "image" in data:
|
|
display_actions(data["image"])
|