def submit(self): """ Verify username and password """ auth_passed = False # Both fields filled? username = request.params.get('username') password = request.params.get('password') #for auth in cfg.auth: # if auth(username=username, password=password, config=cfg): if username == "test": auth_passed = True # break # Mark user as logged in if auth_passed: session['user'] = username log.info(u"User %s logged in" % session['user']) session.save() # Send user back to the page he originally wanted to get to if session.get('path_before_login'): redirect(url(session['path_before_login'])) else: # if previous target is unknown just send the user to a welcome page redirect('/') else: log.error("User %s login failed from host [%s]" % ( username, request.remote_addr)) session.clear() session.save() return render('/login.mako')
def list(self): c.pagename = "contacts" c.heading = "Contacts::List" c.qw = "" log.info(config['app_conf']['my_contacts']) my_contacts = config['app_conf']['my_contacts'] if len(my_contacts)>2: c.my_contacts = my_contacts.split(',') else: c.my_contacts = [] if "qw" in request.params: qw = request.params['qw'] else: qw = "nothing" c.qw = qw con = model.Contacts contacts = model.meta.Session.query(model.Contacts).filter(con.forsearch.like('%'+qw+'%')).order_by(con.id.asc()) c.contacts = paginate.Page( contacts, page=int(request.params.get('page', 1)), items_per_page = 20, ) return render('/derived/contacts/list.html')
def exporttoexcel(self, id, page=1, date="", date2=""): assert id and isinstance(id, basestring) vh = _vh.ViewHandle() t = vh.__getConfig__(id) if not t: abort(404) #/view/exporttoexcel/65/1/2011-03-11/2011-03-11 date = vh.__getDate__(date, int(t.labels)) date2 = vh.__getDate__(date2) if t.graphtype == "realtime": c.columns = "N \t datei \t minute \t value" else: c.columns = "N" items = str(t.items).split(',') for x, item in enumerate(items): c.columns += "\t" + item c.pagename = t.graphtype c.template_id = t.typeid c.typename = t.typename rows = vh.getRowsData(t.graphtype, t.typeid, date, date2) if rows == None: abort(404) c.rows = rows return render('/derived/view/exporttoexcel.html')
def index(self): c.topic = "Templates" c.rows = paginate.Page( model.meta.Session.query(model.Categories).order_by(model.Categories.typeid.desc()), page=int(request.params.get('page', 1)), items_per_page=20) return render('/derived/categories/list.html')
def exporttoexcel(self, id, page=1, date="", date2=""): assert id and isinstance(id, basestring) vh = _vh.ViewHandle() t = vh.__getConfig__(id) if not t: abort(404) #/view/exporttoexcel/65/1/2011-03-11/2011-03-11 date = vh.__getDate__(date, int(t.labels)) date2 = vh.__getDate__(date2) if t.graphtype == "realtime": c.columns = "N \t datei \t minute \t value" else: c.columns = "N" items = str(t.items).split(',') for x, item in enumerate(items): c.columns += "\t" + item c.pagename = t.graphtype c.template_id = t.typeid c.typename = t.typename rows = vh.getRowsData(t.graphtype, t.typeid, date, date2) if rows == None: abort(404) c.rows = rows return render('/derived/view/exporttoexcel.html')
def list(self): c.pagename = "contacts" c.heading = "Contacts::List" c.qw = "" log.info(config['app_conf']['my_contacts']) my_contacts = config['app_conf']['my_contacts'] if len(my_contacts) > 2: c.my_contacts = my_contacts.split(',') else: c.my_contacts = [] if "qw" in request.params: qw = request.params['qw'] else: qw = "nothing" c.qw = qw con = model.Contacts contacts = model.meta.Session.query(model.Contacts).filter( con.forsearch.like('%' + qw + '%')).order_by(con.id.asc()) c.contacts = paginate.Page( contacts, page=int(request.params.get('page', 1)), items_per_page=20, ) return render('/derived/contacts/list.html')
def index(self): c.topic = "Templates" c.rows = paginate.Page(model.meta.Session.query( model.Categories).order_by(model.Categories.typeid.desc()), page=int(request.params.get('page', 1)), items_per_page=20) return render('/derived/categories/list.html')
def index(self): # Return a rendered template #return render('/database.mako') # or, return a string #return 'Hello World' c.msgs = model.meta.Session.query(model.Msg).all() return render('/database.mako')
def list(self): ds = u"请输入主机名或IP或负责人" dv = model.DeviceBase if 'ds' in request.params: ds = request.params['ds'] log.info("________________") log.info(type(ds)) log.info(ds) ''' if ds == u'请输入主机名或IP或负责人': log.info("++++++++++++++++++++++") log.info(ds) ds = '' ''' if ds and ds!=u"请输入主机名或IP或负责人": devices = model.meta.Session.query(dv).filter(dv.hidden==0).filter(dv.for_search.like('%'+ds+'%')).order_by(dv.hostname.asc()).all() else: devices = model.meta.Session.query(dv).filter(dv.hidden==0).order_by(dv.hostname.asc()).all() c.pagename = "devices" c.heading = "主机列表" for x,t in enumerate(devices): t.cpuinfo = self.cinfo_conv(t.cpuinfo, t.cpucore); t.memsize = self.num_scale(t.memsize, 1000) t.diskspace = self.num_scale(t.diskspace,1000) t.hardware = self.hinfo_conv(t.hardware) c.ds = ds c.rows = paginate.Page( devices, ds = ds, page=int(request.params.get('page', 1)), items_per_page = 20, ) return render('/derived/devices/list.html')
def submit(self): """ Verify username and password """ auth_passed = False # Both fields filled? username = request.params.get('username') password = request.params.get('password') #for auth in cfg.auth: # if auth(username=username, password=password, config=cfg): if username == "test": auth_passed = True # break # Mark user as logged in if auth_passed: session['user'] = username log.info(u"User %s logged in" % session['user']) session.save() # Send user back to the page he originally wanted to get to if session.get('path_before_login'): redirect(url(session['path_before_login'])) else: # if previous target is unknown just send the user to a welcome page redirect('/') else: log.error("User %s login failed from host [%s]" % (username, request.remote_addr)) session.clear() session.save() return render('/login.mako')
def edit(self,id): assert id and isinstance(id, basestring) c.pagename = "contacts" c.heading = "Contacts::Edit" c.act = 'edit' c.contact_id = id c.contact = model.meta.Session.query(model.Contacts).filter_by(id=id).first() return render('/derived/contacts/new.html')
def add(self): c.action = "submitadd" c.cate = model.Categories() c.heading = "Add Template" c.graphtype = self.graphtype c.labels = self.labels c.orderby = self.orderby return render('/derived/categories/edit.html')
def add(self): c.action = "submitadd" c.cate = model.Categories() c.heading = "Add Template" c.graphtype = self.graphtype c.labels = self.labels c.orderby = self.orderby return render('/derived/categories/edit.html')
def edit(self, id): assert id and isinstance(id, basestring) c.pagename = "contacts" c.heading = "Contacts::Edit" c.act = 'edit' c.contact_id = id c.contact = model.meta.Session.query( model.Contacts).filter_by(id=id).first() return render('/derived/contacts/new.html')
def host(self): c.pagename = "host" categories = model.meta.Session.query(model.Categories).filter_by(graphtype="host").order_by('typeid') c.rows = paginate.Page( categories, page=int(request.params.get('page', 1)), items_per_page = 20, ) return render("/derived/list/list.html")
def delete(self, id=None): if id is None: abort(404) assert id and isinstance(id, basestring) ca = model.meta.Session.query(model.Categories).filter_by(typeid=id).first() if ca is None: abort(404) model.meta.Session.delete(ca) model.meta.Session.commit() return render('/derived/categories/deleted.html')
def host(self): c.pagename = "host" categories = model.meta.Session.query( model.Categories).filter_by(graphtype="host").order_by('typeid') c.rows = paginate.Page( categories, page=int(request.params.get('page', 1)), items_per_page=20, ) return render("/derived/list/list.html")
def data(self): c.topic = "AppErrorLog" try: page_set = int(request.params['page']) except: page_set = 1 c.rows = paginate.Page(model.meta.Session.query(model.Apperrorlog), page=page_set, items_per_page=10) return render('/displaydata.mako')
def data(self): c.topic = "Too Many Connections" try: page_set = int(request.params['page']) except: page_set = 1 c.rows = paginate.Page(model.meta.Session.query(model.Tmc), page=page_set, items_per_page=10) return render('/displaydata.mako')
def delete(self, id=None): if id is None: abort(404) assert id and isinstance(id, basestring) ca = model.meta.Session.query( model.Categories).filter_by(typeid=id).first() if ca is None: abort(404) model.meta.Session.delete(ca) model.meta.Session.commit() return render('/derived/categories/deleted.html')
def data(self): c.topic = "Too Many Connections" try : page_set = int(request.params['page']) except: page_set = 1 c.rows = paginate.Page( model.meta.Session.query(model.Tmc), page = page_set, items_per_page = 10) return render('/displaydata.mako')
def data(self): c.topic = "AppErrorLog" try : page_set = int(request.params['page']) except: page_set = 1 c.rows = paginate.Page( model.meta.Session.query(model.Apperrorlog), page = page_set, items_per_page = 10) return render('/displaydata.mako')
def new(self,id="0000-00-00 00:00:00"): assert id and isinstance(id, basestring) c.pagename = "events" c.event = model.Events() c.event.evdate = id c.heading = "Events::New" log.debug("new::upload") self.__initValue__() if 'd1' in request.params: c.d1 = request.params['d1'] if 'graphs' in request.params: c.imgid = request.params['graphs'] return render('/derived/events/new.html')
def detail(self,id): c.pagename = "events" c.heading = "Events::Detail" assert id and isinstance(id, basestring) eh = _eh.EventHandle(request) c.event = eh.viewEvent(id) c.graphs = eh.viewGraphs(id) c.messages = eh.viewMessages(id) c.imgpath = config["app_conf"]["img_path"] if not c.event: abort(404) return render('/derived/events/detail.html')
def detail(self, id): c.pagename = "events" c.heading = "Events::Detail" assert id and isinstance(id, basestring) eh = _eh.EventHandle(request) c.event = eh.viewEvent(id) c.graphs = eh.viewGraphs(id) c.messages = eh.viewMessages(id) c.imgpath = config["app_conf"]["img_path"] if not c.event: abort(404) return render('/derived/events/detail.html')
def webapi(self, id): assert id and isinstance(id, basestring) vh = _vh.ViewHandle() t = vh.__getConfig__(id) if not t: abort(404) c.template_id = t.typeid c.typename = t.typename c.items = t.items.split(",") c.pagename = t.graphtype return render('/derived/view/webapi.html')
def deviceaddhtml(self): if 'edit' in request.params: c.heading = "编辑主机" c.pagename = "editdevice" else: c.heading ="添加主机" c.pagename = "adddevice" if 'id' in request.params: info = model.meta.Session.query(model.DeviceBase).filter(model.DeviceBase.id==request.params['id']).first() c.info = info log.info('++++++++++++++=') log.info(c.info) return render("/derived/devices/add.html")
def list(self,id="0000-00-00"): assert id and isinstance(id, basestring) c.pagename = "events" c.heading = "Events::List" eh = _eh.EventHandle(request) events = eh.searchEvent(id) c.events = paginate.Page( events, page=int(request.params.get('page', 1)), items_per_page = 20, ) return render('/derived/events/list.html')
def data(self): try: page_set = int(request.params['page']) except: page_set = 1 c.topic = "MySQLG1" #c.rows = model.meta.Session.query(model.Mysqlg1).all() c.rows = paginate.Page(model.meta.Session.query(model.Mysqlg1), page=page_set, items_per_page=10) return render('/displaydata.mako')
def list(self, id="0000-00-00"): assert id and isinstance(id, basestring) c.pagename = "events" c.heading = "Events::List" eh = _eh.EventHandle(request) events = eh.searchEvent(id) c.events = paginate.Page( events, page=int(request.params.get('page', 1)), items_per_page=20, ) return render('/derived/events/list.html')
def webapi(self, id): assert id and isinstance(id, basestring) vh = _vh.ViewHandle() t = vh.__getConfig__(id) if not t: abort(404) c.template_id = t.typeid c.typename = t.typename c.items = t.items.split(",") c.pagename = t.graphtype return render('/derived/view/webapi.html')
def new(self, id="0000-00-00 00:00:00"): assert id and isinstance(id, basestring) c.pagename = "events" c.event = model.Events() c.event.evdate = id c.heading = "Events::New" log.debug("new::upload") self.__initValue__() if 'd1' in request.params: c.d1 = request.params['d1'] if 'graphs' in request.params: c.imgid = request.params['graphs'] return render('/derived/events/new.html')
def data(self): try : page_set = int(request.params['page']) except: page_set = 1 c.topic = "MySQLG1" #c.rows = model.meta.Session.query(model.Mysqlg1).all() c.rows = paginate.Page( model.meta.Session.query(model.Mysqlg1), page = page_set, items_per_page = 10) return render('/displaydata.mako')
def document(self): """Render the error document""" request = self._py_object.request resp = request.environ.get('pylons.original_response') code = cgi.escape(request.GET.get('code', '')) content = cgi.escape(request.GET.get('message', '')) if resp: content = literal(resp.status) code = code or cgi.escape(str(resp.status_int)) if not code: raise Exception('No status code was found') c.code = code c.message = content return render('/derived/error/document.html')
def edit(self,id): c.pagename = "events" c.heading = "Events::Edit" assert id and isinstance(id, basestring) c.event = model.meta.Session.query(model.Events).filter_by(id=id).first() c.id = id graphs = model.meta.Session.query(model.ImgEvent.imgid).filter_by(eid=id) self.__initValue__() glist = [] for x, g in enumerate(graphs): glist.append(str(g.imgid)) c.graphs = ','.join(glist) return render('/derived/events/new.html')
def document(self): """Render the error document""" request = self._py_object.request resp = request.environ.get('pylons.original_response') code = cgi.escape(request.GET.get('code', '')) content = cgi.escape(request.GET.get('message', '')) if resp: content = literal(resp.status) code = code or cgi.escape(str(resp.status_int)) if not code: raise Exception('No status code was found') c.code = code c.message = content return render('/derived/error/document.html')
def edit(self, id): c.pagename = "events" c.heading = "Events::Edit" assert id and isinstance(id, basestring) c.event = model.meta.Session.query( model.Events).filter_by(id=id).first() c.id = id graphs = model.meta.Session.query( model.ImgEvent.imgid).filter_by(eid=id) self.__initValue__() glist = [] for x, g in enumerate(graphs): glist.append(str(g.imgid)) c.graphs = ','.join(glist) return render('/derived/events/new.html')
def lookup_system(self): drh = _drh.DailyReportHandle() i = model.Dateitems today = datetime.now() y = today.strftime('%Y-%m-%d') odate = request.params.get('odate',y) if odate > y: abort(404) clearcache = request.params.get('clear','') disabledlazy = request.params.get('unlazy','') c.disabledlazy = disabledlazy adate = datetime.strptime(odate,'%Y-%m-%d') c.odate = odate c.imgpath = config["app_conf"]["img_path"] dateitems = model.meta.Session.query(i).filter_by(datei=adate).first() c.sr = '' if dateitems is None: #items = drh.createitems(odate) sort = '3' if 'sort' in request.params: sort = request.params.get('sort','3') items = drh.showsimitems(adate,sort) c.rows=items c.srows = [] if 'sr' in request.params: c.sr = request.params["sr"] for x,t in enumerate (items): if re.match('.*'+request.params['sr']+'.*',t.typename,re.IGNORECASE ): c.srows.append(t) c.simp = 1 elif clearcache: items = drh.createitems(odate) items = drh.updateitems(adate) else: items = json.loads(dateitems.stuff) c.items = items c.sitems = [] if 'sr' in request.params: c.sr = request.params["sr"] for x,t in enumerate (items): if re.match('.*'+request.params['sr']+'.*',t[1],re.IGNORECASE): c.sitems.append(t) c.simp = 0 #return dateitems.stuff #return render("/derived/list/daily_report.html") return render("/derived/list/daily_report.html")
def devicerealtime(self): if 'item' in request.params: ditem = request.params['item'] else: ditem = 'loadavg' if 'hn' in request.params: dname = request.params['hn'] else: dname = '' c.ditem = ditem c.dname='' d = model.Devices if dname: rows = model.meta.Session.query(d).filter(and_(d.ditem.like('%'+ditem+'%'),d.dname.like('%'+dname+'%'),d.max_value>0)).order_by(d.rank.desc()) else: rows = model.meta.Session.query(d).filter(and_(d.ditem.like('%'+ditem+'%'),d.max_value>0)).order_by(d.rank.desc()) rs = rows.all() c.dname = dname c.total = rows.count() metadata = model.meta.Base.metadata metadata.bind = model.meta.Session.bind d = str(datetime.now().date()) table = ''.join(d.split('-')) table = 'device_realtime_'+table flag = 1 c.rtime = '' import time c.reflash = ''.join(str(time.time()).split('.')) dt = int((datetime.now()-timedelta(minutes=15)).strftime('%H%M')) for x,t in enumerate(rs): r = schema.Table(table, metadata, autoload=True,include_columns=['id','did','dthour','dtvalue'],useexisting=True) result = model.meta.Session.query(r).filter(and_(r.c.did==t.id,r.c.dthour >= dt)).order_by(r.c.dthour.desc()).first() if result: while flag: if len(str(result.dthour)) <4: c.rtime = str(result.dthour)[0:1]+':'+str(result.dthour)[1:] else: c.rtime = str(result.dthour)[0:2]+':'+str(result.dthour)[2:] flag = 0 t.rank =result.dtvalue*100.0/t.max_value t.rank = round(t.rank,2) else: t.rank = -1 c.rows = sorted(rs,key=lambda d:d.rank,reverse=True) return render('/derived/devices/realtime.html')
def copy(self, id): assert id and isinstance(id, basestring) # return "id="+str(id) c.cate = model.meta.Session.query(model.Categories).filter_by(typeid=id).first() c.id = id c.action = "submitadd" c.id = 0 c.heading = "Copy Template" c.graphtype = self.graphtype c.labels = self.labels c.orderby = self.orderby c.r_mode = self.r_mode c.r_weight = self.r_weight c.l_interval = self.l_interval c.r_snap = self.r_snap c.list_alarm_threshold = eval(c.cate.alarm_threshold) c.r_typecode = self.r_typecode return render('/derived/categories/edit.html')
def copy(self, id): assert id and isinstance(id, basestring) # return "id="+str(id) c.cate = model.meta.Session.query( model.Categories).filter_by(typeid=id).first() c.id = id c.action = "submitadd" c.id = 0 c.heading = "Copy Template" c.graphtype = self.graphtype c.labels = self.labels c.orderby = self.orderby c.r_mode = self.r_mode c.r_weight = self.r_weight c.l_interval = self.l_interval c.r_snap = self.r_snap c.list_alarm_threshold = eval(c.cate.alarm_threshold) c.r_typecode = self.r_typecode return render('/derived/categories/edit.html')
def list(self): c.pagename = "alert" c.heading = "Alert::List" c.qw = "" if "qw" in request.params: qw = request.params['qw'] else: qw = "" c.qw = qw al = model.Alarminfo if qw: af = model.meta.Session.query(al).filter(al.t_name.like('%'+qw+'%')).order_by(al.logtime.desc()).order_by(al.r_weight.desc()) else: af = model.meta.Session.query(al).order_by(al.logtime.desc()).order_by(al.r_weight.desc()) c.rows = paginate.Page( af, qw=qw, page=int(request.params.get('page', 1)), items_per_page = 20, ) return render("/derived/alert/list.html")
def deviceItems(self): import datetime today = str(datetime.date.today()) d = request.params.get("d",today) if 'kw' in request.params: ditem = request.params['kw'] rows = model.meta.Session.query(model.Devices).filter(model.Devices.ditem.like('%'+ditem+'%')).order_by(model.Devices.ditem.asc()) #log.info(rows) c.rows = rows c.ditem = ditem c.date = d c.kw = ditem else: dsn = request.params['dsn'] dname = request.params['dn'] c.date = d c.dsn = dsn c.dname = dname d = model.Devices dbase = model.DeviceBase info = self.deviceinfo(dsn,dname) rows = model.meta.Session.query(d).filter(and_(d.dsn==dsn,d.dname==dname)).order_by(d.ditem.asc()).all() itemsets = model.meta.Session.query(model.DeviceItemSets).all() items = {} total = len(rows) for x,t in enumerate(rows): t.ditem = unicode(t.ditem) items[x] = t.ditem for m,n in enumerate(itemsets): if t.ditem == n.item_key: t.ditem = n.location_name c.total = total c.items = items c.rows = rows c.imgpath = config["app_conf"]["img_path"] c.pagename = 'deviceitems' c.info = info return render('/derived/devices/daily_report.html')
def cmpItem(self): c.pagename="cmpitem" id = request.params['id'] d = request.params['d'] item = request.params['item'] dn = request.params['dn'] dsn = request.params['sn'] dd = datetime.strptime(d,'%Y-%m-%d') dds = [] for x in range(7): odate = dd - timedelta(days=x) oweekday = odate.date().weekday() if oweekday == 0: oweekday = "星期一" elif oweekday == 1: oweekday = "星期二" elif oweekday == 2: oweekday = "星期三" elif oweekday == 3: oweekday = "星期四" elif oweekday == 4: oweekday = "星期五" elif oweekday == 5: oweekday = "星期六" elif oweekday == 6: oweekday = "星期日" dateweek = [str(odate.date()),oweekday] dds.append(dateweek) c.dds = dds c.id = id c.item = item info = self.deviceinfo(dsn,dn) c.date = d c.info = info #c.ds ='' return render('/derived/devices/daily_report.html')
def list(self): c.pagename = "alert" c.heading = "Alert::List" c.qw = "" if "qw" in request.params: qw = request.params['qw'] else: qw = "" c.qw = qw al = model.Alarminfo if qw: af = model.meta.Session.query(al).filter( al.t_name.like('%' + qw + '%')).order_by( al.logtime.desc()).order_by(al.r_weight.desc()) else: af = model.meta.Session.query(al).order_by( al.logtime.desc()).order_by(al.r_weight.desc()) c.rows = paginate.Page( af, qw=qw, page=int(request.params.get('page', 1)), items_per_page=20, ) return render("/derived/alert/list.html")
def new(self): c.pagename = "contacts" c.heading = "Contacts::New" c.contact = model.Contacts() return render('/derived/contacts/new.html')
if request.params['hostname'] and request.params['serial_no'] and request.params['source_ip']: try: d = model.DeviceBase columns = "hostname,serial_no,source_ip,domain,hardware,cpuinfo,cpucore,memsize,diskspace,netcard,inetaddr,purchased,os_info,customer,in_service,kernel_info,building, hidden,roles,rack_pos,for_search,ship_date,notes" values = ":hostname,:serial_no,:source_ip,:domain,:hardware,:cpuinfo,:cpucore,:memsize,:diskspace,:netcard,:inetaddr,:purchased,:os_info,:customer,:in_service,:kernel_info,:building, :hidden,:roles,:rack_pos,:for_search,:ship_date,:notes" result = model.meta.Session.execute("insert into device_base("+columns+") values("+values+");" , request.params, mapper=model.DeviceBase) redirect('/devices/list') except Exception,e: return e else: c.error = u"必填项未填!" c.pagename = "adddevice" c.heading = "添加主机" #return "error" return render('/derived/devices/add.html') def deviceedit(self): # d = model.DeviceBase d = model.meta.Session.query(model.DeviceBase).filter_by(id=request.params['id']).first() #d.hostname = request.params['hostname'] #d.serial_no = request.params['serial_no'] #d.source_ip = request.params['source_ip'] #d.domain = request.params['domain'] # d.hardware = request.params['hardware'] #d.cpucore = request.params['cpucore'] # d.memsize = request.params['memsize'] # d.diskspace = request.params['diskspace'] #d.netcard = request.params['netcard'] # d.inetaddr = request.params['inetaddr']
def realtime(self): c.pagename = "realtime" t = model.Categories m = model.meta.Session.query(t).filter_by(graphtype="realtime") c.view_mode = "fullscreen" c.r_typecode = {u'稳定': '10000', u'功能': '20000', u'速度': '30000'} if 'fullscreen' in request.params: page_rows = 1000 template_name = "/derived/list/realtime.html" elif 'report' in request.params: page_rows = 1000 template_name = "/derived/list/report.html" c.refresh = True c.view_mode = "report" elif 'viewmdays' in request.params: page_rows = 1 template_name = "/derived/list/report_7days.html" c.refresh = True c.view_mode = "viewmdays" elif 'montoring' in request.params: page_rows = 1000 template_name = "/derived/list/realtime.html" c.refresh = True c.view_mode = "montoring" if 'disrf' in request.cookies: c.disrf = request.cookies['disrf'] else: c.disrf = 'false' else: page_rows = 20 template_name = "/derived/list/list.html" sw = "" filter = "" t1 = 0 t2 = "" filter_list = [] if 's' in request.params: sw = request.params.get('s', '') m = m.filter(t.typename.like('%' + sw + '%')) if 'odate' in request.params: odate = request.params.get('odate', '') adate = datetime.datetime.strptime(odate, '%Y-%m-%d') else: adate = datetime.datetime.today() odate = adate.strftime('%Y-%m-%d') if 'typeid' in request.params: t1 = request.params.get('typeid', '') if 'typename' in request.params: t2 = request.params.get('typename', '') if 'filter' in request.params: filter = request.params.get('filter', '') filter_list = str(filter).split(',') m = m.filter(~t.typecode.in_(filter_list)) c.filter_list = filter_list categories = m.order_by(t.alertlevel.desc()).order_by( t.r_weight.desc()).order_by(t.rankcode.asc()) c.count = categories.count() c.sw = sw c.odate = odate c.imgpath = config["app_conf"]["img_path"] c.t1 = t1 c.t2 = t2 x = 0 dys = 0 if 'dys' in request.params: dys = int(request.params["dys"]) else: dys = 7 ldate = [adate] * dys rdate = [str(adate)[0:10]] * dys while 0 <= x < dys: if x == dys - 1: ldate[x] = ldate[x - 1] - datetime.timedelta(days=1) rdate[x] = ldate[x].strftime('%Y-%m-%d') else: ldate[x + 1] = ldate[x] - datetime.timedelta(days=1) rdate[x + 1] = ldate[x + 1].strftime('%Y-%m-%d') x += 1 c.rdate = rdate c.rows = categories c.rows = paginate.Page( categories, page=int(request.params.get('page', 1)), items_per_page=page_rows, ) import random c.rnd = random.randint(1, 1000000) from pyfisheyes.model.utils import GlobalHandle as _gh gh = _gh.GlobalHandle() c.currentdatetime = gh.getCurrentDateTime("%H:%M:%S") return render(template_name)
def data(self, id, page=1, date2="", date=""): #assert id and isinstance(id, basestring) #assert page and isinstance(page, basestring) #assert date and isinstance(date, basestring) #assert date2 and isinstance(date2, basestring) if 'd2' in request.params: date2 = request.params['d2'] if 'pweekday' in request.params: c.pweekday = "1" else: c.pweekday = '0' if 'ck' in request.params: c.ck = "1" else: c.ck = "0" if id and isinstance(id, basestring): pass else: id = 0 if page and isinstance(page, basestring): pass else: page = 1 if date and isinstance(date, basestring): pass else: date = "" if date2 and isinstance(date2, basestring): pass else: date2 = "" if 'd' in request.params : date2 = request.params['d'] vh = _vh.ViewHandle() t = vh.__getConfig__(id) if not t: abort(404) date = vh.__getDate__(date, int(t.labels)) if t.graphtype == "realtime": date2 = vh.__getDate__(date2, 0) else: date2 = vh.__getDate__(date2) #if request.cookies.has_key('set_default_day') and 'd2' not in request.params: if 'set_default_day' in request.cookies and 'd2' not in request.params: date2 = request.cookies['set_default_day'] sw = "" if 's' in request.params : sw = request.params['s'] c.sw = sw c.t = t c.list_alarm_threshold = eval(t.alarm_threshold) c.date = date c.date2 = date2 c.imgpath = config["app_conf"]["img_path"] c.opt = "0" c.topic = t.typename c.template_id = t.typeid c.items = str(t.items).split(',') c.pagesize = t.labels c.yesterday = vh.__getDate__("") #if request.cookies.has_key('set_default_day'): if 'set_default_day' in request.cookies: c.set_default_day = "checked='checked'" else: c.set_default_day = "" if t.graphtype in ['day', 'realtime']: orderby = 0 else: orderby = 1 rows = vh.getRowsData(t.graphtype, t.typeid, date, date2, orderby) if rows == None: abort(404) c.pre_topic = vh.__getTopic__(id, "pre", t.graphtype) c.next_topic = vh.__getTopic__(id, "next", t.graphtype) c.pagename = t.graphtype c.datasupport = t.datasupport c.accessed = t.accessed c.from_date = date c.to_date = date2 if t.graphtype == "realtime": c.sumvalue = vh.sumValue(rows) c.rows = paginate.Page( rows, partial='partial', page=page, date=date, date2=date2, items_per_page=30) events = vh.getEvents(t.typeid, date2) log.info('+++++++++++++++++++++++++++++++++++===') log.info(events) log.info('+++++++++++++++++++++++++++++++++++===') if events: c.events = events if 'partial' in request.params: return render('/derived/view/onlydata.html') else: return render('/derived/view/view.html')
def realtime(self): c.pagename = "realtime" t = model.Categories m = model.meta.Session.query(t).filter_by(graphtype="realtime") c.view_mode="fullscreen" c.r_typecode = {u'稳定':'10000', u'功能':'20000', u'速度':'30000'} if 'fullscreen' in request.params : page_rows = 1000 template_name = "/derived/list/realtime.html" elif 'report' in request.params : page_rows = 1000 template_name = "/derived/list/report.html" c.refresh = True c.view_mode = "report" elif 'viewmdays' in request.params : page_rows = 1 template_name = "/derived/list/report_7days.html" c.refresh = True c.view_mode = "viewmdays" elif 'montoring' in request.params : page_rows = 1000 template_name = "/derived/list/realtime.html" c.refresh = True c.view_mode = "montoring" if 'disrf' in request.cookies: c.disrf = request.cookies['disrf'] else: c.disrf = 'false' else: page_rows = 20 template_name = "/derived/list/list.html" sw = "" filter = "" t1 = 0 t2 = "" filter_list = [] if 's' in request.params : sw = request.params.get('s', '') m = m.filter(t.typename.like('%'+sw+'%')) if 'odate' in request.params : odate = request.params.get('odate', '') adate = datetime.datetime.strptime(odate,'%Y-%m-%d') else : adate = datetime.datetime.today() odate = adate.strftime('%Y-%m-%d') if 'typeid' in request.params : t1 = request.params.get('typeid', '') if 'typename' in request.params : t2 = request.params.get('typename', '') if 'filter' in request.params : filter = request.params.get('filter', '') filter_list = str(filter).split(',') m = m.filter(~t.typecode.in_(filter_list)) c.filter_list = filter_list categories = m.order_by(t.alertlevel.desc()).order_by(t.r_weight.desc()).order_by(t.rankcode.asc()) c.count = categories.count() c.sw = sw c.odate = odate c.imgpath = config["app_conf"]["img_path"] c.t1 = t1 c.t2 = t2 x = 0 dys = 0 if 'dys' in request.params: dys = int(request.params["dys"]) else: dys = 7 ldate = [adate]*dys rdate = [str(adate)[0:10]]*dys while 0 <= x < dys: if x == dys-1: ldate[x] = ldate[x-1] - datetime.timedelta(days=1) rdate[x] = ldate[x].strftime('%Y-%m-%d') else: ldate[x+1] = ldate[x] - datetime.timedelta(days=1) rdate[x+1] = ldate[x+1].strftime('%Y-%m-%d') x+=1 c.rdate = rdate c.rows = categories c.rows = paginate.Page( categories, page=int(request.params.get('page', 1)), items_per_page = page_rows, ) import random c.rnd = random.randint(1,1000000) from pyfisheyes.model.utils import GlobalHandle as _gh gh = _gh.GlobalHandle() c.currentdatetime = gh.getCurrentDateTime("%H:%M:%S") return render(template_name)
def index(self): # Return a rendered template #return render('/example.mako') # or, return a string #return 'Hello World' return render('/example.mako')
def index(self): c.pagename = "homepage" return render('/derived/homepage/home.html')