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
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
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
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))
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;