#!/usr/bin/env python3

import os
import subprocess
import glob

"""
@file    loadmodules.py
@brief   Script de inicio para cargar módulos complementarios del kernel.
@version 1.0.5 - Cargar módulos específicos para el cliente.
"""


def main():
    msg_loadmodules = os.getenv('MSG_LOADMODULES', '.')
    print(msg_loadmodules)

    # Módulo del ratón.
    subprocess.run(['modprobe', 'psmouse'], stderr=subprocess.DEVNULL)

    # Cargar módulos específicos del kernel del cliente.
    kernel_version = os.uname().release
    module_path = os.path.join(os.getenv('OGLIB', ''), 'modules', kernel_version, '*.ko')
    for module in glob.glob(module_path):
        if os.access(module, os.R_OK):
            subprocess.run(['insmod', module], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)

if __name__ == "__main__":
    main()