mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2025-10-11 07:32:34 +02:00
had this lying around from last week PRs and could come useful again, code is meh but works
41 lines
1.3 KiB
Python
Executable File
41 lines
1.3 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
import pathlib
|
|
|
|
universals = (
|
|
pathlib.Path(__file__).parent
|
|
/ "../applications/main/infrared/resources/infrared/assets"
|
|
)
|
|
|
|
for universal in universals.glob("*.ir"):
|
|
text = universal.read_text()
|
|
lines = text.splitlines()
|
|
signal = []
|
|
comment = []
|
|
signals = []
|
|
for line in lines:
|
|
if line.startswith("#"):
|
|
comment.append(line)
|
|
continue
|
|
signal.append(line)
|
|
if line.startswith(("data: ", "command: ")): # Last line of this signal
|
|
signals.append(("\n".join(signal), "\n".join(comment)))
|
|
signal.clear()
|
|
comment.clear()
|
|
found = dict()
|
|
for signal, comment in signals:
|
|
if signal in found:
|
|
if (
|
|
universal.stem == "projectors"
|
|
and found[signal] == 1
|
|
and signal.startswith("name: Power")
|
|
):
|
|
# Projectors need double press of power to confirm shutdown, so 1 dupe is fine
|
|
found[signal] += 1
|
|
continue
|
|
replace = f"\n{comment}\n{signal}"
|
|
pos = text.rfind(replace)
|
|
text = text[:pos] + text[pos + len(replace) :]
|
|
continue
|
|
found[signal] = 1
|
|
universal.write_text(text)
|