⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 getstatus.py

📁 Network Administration Visualized 网络管理可视化源码
💻 PY
字号:
# -*- coding: ISO8859-1 -*-## Copyright 2003, 2004 Norwegian University of Science and Technology# Copyright 2006 UNINETT AS## This file is part of Network Administration Visualized (NAV)## NAV is free software; you can redistribute it and/or modify# it under the terms of the GNU General Public License as published by# the Free Software Foundation; either version 2 of the License, or# (at your option) any later version.## NAV is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the# GNU General Public License for more details.## You should have received a copy of the GNU General Public License# along with NAV; if not, write to the Free Software# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA## Authors: Hans J鴕gen Hoel <hansjorg@orakel.ntnu.no>#          Stein Magnus Jodal <stein.magnus.jodal@uninett.no>#"""Function to get the current status from thealerhist table. Used by the frontpage."""import nav.dbdef boxesDown(sort = False):    connection = nav.db.getConnection('status', 'manage')    database = connection.cursor()    # If components is on maintenance, do not show them    sql = """SELECT n.sysname, n.ip, ah.start_time,            now() - ah.start_time AS downtime, n.up        FROM alerthist AS ah, netbox AS n, alerttype AS at        WHERE ah.netboxid = n.netboxid            AND ah.alerttypeid = at.alerttypeid            AND ah.end_time = 'infinity'            AND ah.eventtypeid = 'maintenanceState'"""    database.execute(sql)    result_maint = database.fetchall()    # Create list of components on maintenance    onmaint = {}    for line in result_maint:        onmaint[line[1]] = True    # Get components    sql = """SELECT n.sysname, n.ip, ah.start_time, now() - ah.start_time            AS downtime, n.up        FROM alerthist AS ah, netbox AS n, alerttype AS at        WHERE ah.netboxid = n.netboxid            AND at.alerttypeid = ah.alerttypeid            AND ah.end_time = 'infinity'            AND ah.eventtypeid = 'boxState'            AND (n.up = 'n' OR n.up = 's')        ORDER BY now() - ah.start_time"""    database.execute(sql)    result = database.fetchall()    downList = []    for line in result:        # If on maintenance, skip this component        if line[1] in onmaint:            continue        shadow = False        if line[4] == 's':            shadow = True        downList.append([line[3],                         line[0],                         line[1],                         line[2],                         shadow])    if sort:        downList.sort()    return downList def boxesDownSortByNewest():    return boxesDown(sort=True)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -