my_subscript/subscription.py

48 lines
1.2 KiB
Python
Raw Normal View History

2024-07-18 10:08:24 +00:00
import importlib.util
import os
version = "0.0.1_alpha"
def get_subscription():
apps_folder = "apps"
apps = get_global_vars_from_apps(apps_folder)
return {
"version": version,
"apps": apps,
}
def get_global_vars_from_apps(apps_folder):
global_vars = {}
for filename in os.listdir(apps_folder):
if filename.endswith(".py"):
module_name = filename[:-3]
file_path = os.path.join(apps_folder, filename)
spec = importlib.util.spec_from_file_location(module_name, file_path)
module = importlib.util.module_from_spec(spec)
spec.loader.exec_module(module)
module_globals = {
key: value
for key, value in vars(module).items()
if not key.startswith("__")
}
print(
"Scanned packageName: %s" % module_globals[module_name]["packageName"]
)
global_vars[module_name] = module_globals
return global_vars
if __name__ == "__main__":
apps_folder = "apps"
apps = get_global_vars_from_apps(apps_folder)
print(apps)
for app, info in apps:
print("%s: %s" % (app, info))