Ejemplo n.º 1
0
def list_plugins(category):
    dirname = xconfig.PLUGINS_DIR
    if not os.path.isdir(dirname):
        return []

    if category:
        plugins = xmanager.find_plugins(category)
        print(category, plugins)
        links = build_plugin_links(dirname, [p.fname for p in plugins])
    else:
        recent_names = cacheutil.zrange("plugins.history", -MAX_HISTORY, -1)
        recent_names.reverse()
        plugins_list = os.listdir(dirname)
        plugins_list = set(plugins_list) - set(recent_names)
        links = build_plugin_links(dirname,
                                   recent_names + sorted(plugins_list))
    return links
Ejemplo n.º 2
0
def list_plugins(category):
    dirname = xconfig.PLUGINS_DIR
    if not os.path.isdir(dirname):
        return []

    if category and category != "all":
        # 某个分类的插件
        plugins = xmanager.find_plugins(category)
        links = build_plugin_links(dirname, [p.fname for p in plugins])
    else:
        # 所有插件
        recent_names = cacheutil.zrange("plugins.history", -MAX_HISTORY, -1)
        recent_names.reverse()
        plugins_list = os.listdir(dirname)
        plugins_list = set(plugins_list) - set(recent_names)
        links = build_inner_tools()
        links += build_plugin_links(dirname,
                                    recent_names + sorted(plugins_list))
    return links
Ejemplo n.º 3
0
def list_plugins():
    dirname = xconfig.PLUGINS_DIR
    if not os.path.isdir(dirname):
        return []
    links = []
    recent_names = cacheutil.zrange("plugins.history", -50, -1)
    recent_names.reverse()
    recent_names = [x + ".py" for x in recent_names]
    plugins_list = os.listdir(dirname)
    plugins_list = set(plugins_list) - set(recent_names)

    for name in recent_names + sorted(plugins_list):
        fpath = os.path.join(dirname, name)
        if not os.path.exists(fpath):
            continue
        name, ext = os.path.splitext(name)
        name = xutils.unquote(name)
        st = os.stat(fpath)
        item = link(name, "/plugins/" + name)
        item.atime = xutils.format_date(st.st_atime)
        item.edit_link = "/code/edit?path=" + fpath
        links.append(item)
    return links
Ejemplo n.º 4
0
def list_recent_plugins():
    items = cacheutil.zrange("plugins.history", -6, -1)
    print(items)
    links = [find_plugin_by_name(name) for name in items]
    links.reverse()
    return list(filter(None, links))
Ejemplo n.º 5
0
def list_recent_plugins():
    items = cacheutil.zrange("plugins.history", -6, -1)
    links = [dict(name=name, link="/plugins/" + name) for name in items]
    links.reverse()
    return links;