diff options
Diffstat (limited to 'generate_updater.py')
-rwxr-xr-x | generate_updater.py | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/generate_updater.py b/generate_updater.py new file mode 100755 index 0000000..ef6f256 --- /dev/null +++ b/generate_updater.py @@ -0,0 +1,50 @@ +#!/bin/python +import os +import os.path + +START_SCRIPT = "main.lua" + +dir_paths = [] +lua_paths = [] + +for (root, dirs, files) in os.walk("src", topdown=True): + for elem in dirs: + dir_paths.append('"' + root + "/" + elem + '"') + + for elem in files: + if (elem.lower().endswith(".lua")): + lua_paths.append('"' + root + "/" + elem + '"') + +SCRIPT = \ +"""local module = "{}" +local dirs = {{{}}} +local files = {{{}}} + +local function getLatest(url) do + shell.run("clear") + + shell.run("rm", "src") + shell.run("mkdir", "src") + + for idx, elem in pairs(dirs) do + shell.run("mkdir", elem) + end + + for idx, elem in pairs(files) do + shell.run("wget", url .. "/" .. elem, elem) + end + + print("==== STARTING ====\\n") + + shell.run(\"src/{}\") +end +end + +return {{ getLatest = getLatest }} +""" + +module = os.path.basename(os.path.dirname(os.path.normpath(__file__))) + +with open("updater.lua", "w") as f: + f.write(SCRIPT.format(module, ", ".join(dir_paths), ", ".join(lua_paths), START_SCRIPT)) + |