49 lines
1.1 KiB
Python
Executable File
49 lines
1.1 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
import sys
|
|
import os
|
|
import json
|
|
|
|
BLACKLIST = [
|
|
".git",
|
|
".gitignore",
|
|
"LICENSE",
|
|
"README.md",
|
|
"scripts",
|
|
"apps"
|
|
]
|
|
|
|
|
|
def iterate_files(blacklist=None):
|
|
base_dir = os.getcwd()
|
|
if blacklist is None:
|
|
blacklist = set()
|
|
|
|
for root, dirs, files in os.walk(base_dir):
|
|
# Skip blacklisted dirs based on name
|
|
dirs[:] = [d for d in dirs if d not in blacklist]
|
|
for file in files:
|
|
if file not in blacklist:
|
|
abs_path = os.path.join(root, file)
|
|
rel_path = os.path.relpath(abs_path, base_dir)
|
|
yield rel_path # truncated to current dir >:3
|
|
|
|
|
|
def main():
|
|
if len(sys.argv) < 2:
|
|
print(f"Usage: {sys.argv[0]} [version]")
|
|
return
|
|
version = sys.argv[1]
|
|
obj = {}
|
|
obj["version"] = version
|
|
obj["sys_files"] = {}
|
|
for file in iterate_files(BLACKLIST):
|
|
obj["sys_files"][f"/{
|
|
file}"] = f"https://git.mcorangehq.xyz/xomf/slabOS/raw/branch/main/{file}"
|
|
pretty_json = json.dumps(obj, indent=2)
|
|
print(pretty_json)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|