import sys
import re;
import importlib
from importlib import import_module
from importlib.abc import MetaPathFinder
import importlib.machinery

mod = sys.modules[__name__]
mod_list = {}

class SqmodFinder(MetaPathFinder):
    def find_module(fullname,path):
        if not fullname.startswith('sqmod/'):
            return None

        return importlib.machinery.SourceFileLoader(fullname,fullname + '.py')

def load(name,path,*args):
    instance = import_module(path,'')
    mod_list[name] = instance
    setattr(mod,name,getattr(instance,name)(*args))

def unload(name):
    getattr(mod,name).unload()
    delattr(mod,name)
    del mod_list[name]

def load_sqmod(sqmodname):
    print(sqmodname)

    instance = import_module(''.join(['sqmod/',sqmodname,'/py/',sqmodname]))

    return getattr(instance,sqmodname)

sys.meta_path.append(SqmodFinder)