def GET(self): mem_used = 0 sys_mem_used = 0 sys_mem_total = 0 thread_cnt = 0 formated_mem_size = 0 if psutil: p = psutil.Process(pid=os.getpid()) mem_info = p.memory_info() mem_used = mem_info.rss sys_mem = psutil.virtual_memory() sys_mem_used = sys_mem.used sys_mem_total = sys_mem.total formated_mem_size = xutils.format_size(mem_used) elif xutils.is_windows(): mem_usage = os.popen("tasklist /FI \"PID eq %s\" /FO csv" % os.getpid()).read() str_list = mem_usage.split(",") pattern = re.compile(r"[0-9,]+ [kK]") mem_list = pattern.findall(mem_usage) formated_mem_size = mem_list[-1] else: formated_mem_size = "" thread_cnt = len(threading.enumerate()) return xtemplate.render( "system/monitor.html", sys_mem_used=formated_mem_size, sys_mem_total=xutils.format_size(sys_mem_total), python_version=sys.version, sys_version=platform.version(), processor=platform.processor(), thread_cnt=thread_cnt, start_time=xconfig.get("start_time"))
def handle(self, input): self.description = '''请输入插件名称''' self.title = '通过模板创建插件' self.rows = 1 if input != '': name = os.path.join(xconfig.PLUGINS_DIR, input) if not name.endswith(".py"): name += ".py" if os.path.exists(name): return "文件[%s]已经存在!" % name code = xconfig.get("NEW_PLUGIN_TEMPLATE", TEMPLATE) xutils.savetofile(name, code) raise web.seeother('/code/edit?path=%s' % name)
def handle(self, input): self.title = '通过模板创建命令扩展' self.description = '''请输入命令扩展名称''' self.btn_text = '创建' self.rows = 1 self.editable = False if input != '': name = os.path.join(xconfig.COMMANDS_DIR, input) if not name.endswith(".py"): name += ".py" if os.path.exists(name): return u("文件[%s]已经存在!") % u(name) user_name = xauth.get_current_name() code = xconfig.get("NEW_COMMAND_TEMPLATE", DEFAULT_COMMAND_TEMPLATE) code = code.replace("$since", xutils.format_datetime()) code = code.replace("$author", user_name) xutils.writefile(name, code) raise web.seeother('/code/edit?path=%s' % name)
def handle(self, input): self.description = '''请输入插件名称''' self.title = '通过模板创建插件' self.btn_text = '创建' self.rows = 1 if input != '': name = os.path.join(xconfig.PLUGINS_DIR, input) if not name.endswith(".py"): name += ".py" if os.path.exists(name): return u("文件[%s]已经存在!") % u(name) user_name = xauth.get_current_name() code = xconfig.get("NEW_PLUGIN_TEMPLATE", DEFAULT_PLUGIN_TEMPLATE) code = code.replace("$since", xutils.format_datetime()) code = code.replace("$author", user_name) xutils.writefile(name, code) log_plugin_visit(os.path.basename(name)) raise web.seeother('/code/edit?path=%s' % name)
def GET(self): mem_used = 0 sys_mem_used = 0 sys_mem_total = 0 thread_cnt = 0 formated_mem_size = 0 if psutil: p = psutil.Process(pid=os.getpid()) mem_info = p.memory_info() mem_used = mem_info.rss sys_mem = psutil.virtual_memory() sys_mem_used = sys_mem.used sys_mem_total = sys_mem.total formated_mem_size = xutils.format_size(mem_used) elif xutils.is_windows(): mem_usage = os.popen("tasklist /FI \"PID eq %s\" /FO csv" % os.getpid()).read() str_list = mem_usage.split(",") pattern = re.compile(r"[0-9,]+ [kK]") mem_list = pattern.findall(mem_usage) formated_mem_size = mem_list[-1] else: formated_mem_size = "" thread_cnt = len(threading.enumerate()) item_list = [ Item('软件版本', get_xnote_version()), Item('sqlite版本', sqlite3.sqlite_version if sqlite3 != None else '') ] return xtemplate.render( "system/template/settings.html", show_aside=False, html_title="系统设置", item_list=item_list, sys_mem_used=formated_mem_size, sys_mem_total=xutils.format_size(sys_mem_total), python_version=sys.version, sys_version=platform.version(), processor=platform.processor(), thread_cnt=thread_cnt, xconfig=xconfig, xnote_version=get_xnote_version(), start_time=xconfig.get("start_time"), init_script_url=INIT_SCRIPT_URL)
def GET(self): web.header("Content-Type", "application/javascript") return xconfig.get("USRE_JS", "")
def get_server_ip(): blacklist = xconfig.get("IP_BLACK_LIST") ip_list = get_ip_list(blacklist) return ip_list[0]
def GET(self): web.header("Content-Type", "text/css") return xconfig.get("USER_CSS", "")