rtmc/x.py

52 lines
1.3 KiB
Python
Raw Normal View History

2024-08-17 23:08:11 +00:00
#!/usr/bin/python
2024-08-18 03:24:30 +00:00
import string
import random
UPDATE_ID= ''.join(random.choices(string.ascii_letters, k=24))
2024-08-17 23:08:11 +00:00
OUTPUT="keypadOS.lua";
FILES= [
2024-08-18 00:34:13 +00:00
"updater.lua",
"config.lua",
"ui.lua",
"utils.lua",
"main.lua",
2024-08-17 23:08:11 +00:00
]
def read_file(p: str) -> str:
buf = "";
2024-08-18 00:34:13 +00:00
with open("src/"+p, "r", encoding="utf-8") as f:
2024-08-18 01:13:38 +00:00
buf += f"\nrawset(__BUNDLER_FILES, \"{p}\", function ()\n";
2024-08-18 00:34:13 +00:00
for line in f.readlines():
if str.strip(line) != "":
buf += " " + line;
2024-08-18 01:13:38 +00:00
buf += f"\nend) -- FILE END: {p} --\n";
2024-08-17 23:08:11 +00:00
return buf;
def main():
2024-08-18 00:34:13 +00:00
buf = ""
buf += "local __BUNDLER_FILES = {}\n";
buf += "local __DEFAULT_IMPORT = require\n";
buf += "local require = function(path)\n";
2024-08-18 00:43:01 +00:00
buf += " if __BUNDLER_FILES[path] then\n";
buf += " return __BUNDLER_FILES[path]()\n";
buf += " else\n";
2024-08-18 01:13:38 +00:00
buf += " return __DEFAULT_IMPORT(path)\n";
2024-08-18 00:43:01 +00:00
buf += " end\n";
2024-08-18 00:34:13 +00:00
buf += "end\n";
2024-08-18 03:24:30 +00:00
buf += f'local KEYPADOS_UPDATE_HASH = "{UPDATE_ID}"';
2024-08-18 00:34:13 +00:00
2024-08-17 23:08:11 +00:00
for file in FILES:
print(f"=== FILE: {file}");
buf += read_file(file);
print(f"=== UPDATE HASH: {UPDATE_ID}")
2024-08-18 00:34:13 +00:00
buf += "\nrequire(\"main.lua\").Main()\n";
2024-08-17 23:08:11 +00:00
with open(OUTPUT, "w", encoding="utf-8") as f:
f.write(buf);
print("DONE");
if __name__ == "__main__":
main();