import sys
from importlib import reload
from os import listdir

from main import CommandMap
from utils.logging.debug import debug


def loadSingle(commandName):
    if commandName + ".py" in listdir("commands"):
        className = commandName.capitalize() + "Command"
        try:
            if commandName in CommandMap.keys():
                reload(sys.modules["commands." + commandName])
                CommandMap[commandName] = getattr(
                    sys.modules["commands." + commandName], className
                )
                debug("Reloaded command: %s" % commandName)
                return "RELOAD"
            module = __import__("commands.%s" % commandName)
            CommandMap[commandName] = getattr(getattr(module, commandName), className)
            debug("Registered command: %s" % commandName)
            return True

        except Exception as err:
            return err
    return False
