示例#1
0
文件: catalog.py 项目: TurpIF/KHome
def get_available_modules(detailed=False):
    """
    Return a list of all available modules. Detailed information can be given
    (eg. module configuration) by setting the "detailed" argument to true.
    """
    module_list = []
    dir_ = path.availables_directory()
    for module_fname in os.listdir(dir_):
        mod_full_dir = os.path.join(dir_, module_fname)
        if not module_fname.lower().endswith('.zip'):
            continue
        with zipfile.ZipFile(mod_full_dir) as zf:
            module_name = os.path.splitext(module_fname)[0]
            module_dir = module_name + '/'
            if module_dir not in zf.namelist():
                continue
            module_config_file = path.config_file(module_name,
                    directory=module_dir)
            with zf.open(module_config_file) as module_config_fp:
                conf = load_config(module_config_fp)
                if detailed:
                    conf['installed'] = is_installed(module_name)
                    module_list.append(conf)
                else:
                    module_list.append({ _mne: conf[_mne] })
    return module_list
示例#2
0
def get_available_modules(detailed=False):
    """
    Return a list of all available modules. Detailed information can be given
    (eg. module configuration) by setting the "detailed" argument to true.
    """
    module_list = []
    dir_ = path.availables_directory()
    for module_fname in os.listdir(dir_):
        mod_full_dir = os.path.join(dir_, module_fname)
        if not module_fname.lower().endswith('.zip'):
            continue
        with zipfile.ZipFile(mod_full_dir) as zf:
            module_name = os.path.splitext(module_fname)[0]
            module_dir = module_name + '/'
            if module_dir not in zf.namelist():
                continue
            module_config_file = path.config_file(module_name,
                                                  directory=module_dir)
            with zf.open(module_config_file) as module_config_fp:
                conf = load_config(module_config_fp)
                if detailed:
                    conf['installed'] = is_installed(module_name)
                    module_list.append(conf)
                else:
                    module_list.append({_mne: conf[_mne]})
    return module_list
示例#3
0
文件: catalog.py 项目: TurpIF/KHome
def get_zipfile(module_name):
    """
    Return the filename for the module's install zip.
    TODO make this more elegant (unify)
    """
    return os.path.join(path.availables_directory(), module_name + '.zip')
示例#4
0
def get_zipfile(module_name):
    """
    Return the filename for the module's install zip.
    TODO make this more elegant (unify)
    """
    return os.path.join(path.availables_directory(), module_name + '.zip')