scrapped idea

This commit is contained in:
WhatDidYouExpect 2025-07-16 18:37:30 +02:00
parent b6449cfa28
commit 6b5035890e
2 changed files with 1 additions and 51 deletions

View file

@ -6,6 +6,7 @@ OWNERID=
USERTRAINENABLED="true" USERTRAINENABLED="true"
SHOWMEMENABLED="true" SHOWMEMENABLED="true"
LOCALE=fi LOCALE=fi
NAME=goober
AUTOUPDATE="True" AUTOUPDATE="True"
SONG="Basket Case - Green Day" SONG="Basket Case - Green Day"
CHECKSDISABLED="Frue" CHECKSDISABLED="Frue"

View file

@ -1,51 +0,0 @@
import os
import importlib
import inspect
import sys
_hooks = {}
def register_hook(name, func):
if name not in _hooks:
_hooks[name] = []
_hooks[name].append(func)
async def call_hook(name, *args, **kwargs):
if name not in _hooks:
return
for func in _hooks[name]:
if callable(func):
if inspect.iscoroutinefunction(func):
await func(*args, **kwargs)
else:
func(*args, **kwargs)
def register_all_functions_as_hooks(module):
"""Register every function/coroutine function in the given module as a hook under its function name."""
for name, obj in inspect.getmembers(module):
if inspect.isfunction(obj) or inspect.iscoroutinefunction(obj):
register_hook(name, obj)
def _register_all_modules_functions():
"""Scan all python modules in this 'modules' folder (excluding this file) and register their functions."""
# Calculate the path to the modules directory relative to this file
modules_dir = os.path.dirname(os.path.abspath(__file__))
# Current file name so we skip it
current_file = os.path.basename(__file__)
# Ensure 'modules' is in sys.path for importlib to work
if modules_dir not in sys.path:
sys.path.insert(0, modules_dir)
# List all python files except dunder files and this file
for filename in os.listdir(modules_dir):
if filename.endswith(".py") and not filename.startswith("__") and filename != current_file:
module_name = filename[:-3] # strip .py extension
try:
module = importlib.import_module(module_name)
register_all_functions_as_hooks(module)
except Exception as e:
print(f"[hooks] Failed to import {module_name}: {e}")