def METHOD_NAME():
    if PLUGIN_DICT:
        return PLUGIN_DICT
    previous_path = getcwd()
    PLUGIN_ROOT_PATH = join(BASE_DIR, "dongtai_conf" + os.sep + "plugin")
    for root, _directories, files in walk(top=PLUGIN_ROOT_PATH, topdown=False):
        for file_ in files:
            if file_.startswith("plug_") and (file_.endswith((".py", ".so"))):
                if file_.endswith(".py"):
                    packname = ".".join(
                        [
                            root.replace(BASE_DIR + os.sep, "").replace(os.sep, "."),
                            file_.replace(".py", ""),
                        ]
                    )
                else:
                    packname = ".".join(
                        [
                            root.replace(BASE_DIR + os.sep, "").replace(os.sep, "."),
                            file_.split(".")[0],
                        ]
                    )
                mod = import_module(packname)
                plugin_classes = filter(lambda x: _plug_class_filter(x), getmembers(mod))
                for _name, plug_class in plugin_classes:
                    if PLUGIN_DICT.get(plug_class.appname):
                        PLUGIN_DICT[plug_class.appname] += [plug_class]
                    else:
                        PLUGIN_DICT[plug_class.appname] = [plug_class]
    chdir(previous_path)
    return PLUGIN_DICT