Example #1
0
    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')
Example #2
0
    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')
Example #3
0
 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')
Example #4
0
 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')
Example #5
0
    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')
Example #6
0
    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')
Example #7
0
 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')
Example #8
0
 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')
Example #9
0
 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')
Example #10
0
    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')
Example #11
0
 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')
Example #12
0
 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')
Example #13
0
 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')
Example #14
0
 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')
Example #15
0
 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")
Example #16
0
 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')
Example #17
0
 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")
Example #18
0
    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')
Example #19
0
    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')
Example #20
0
 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')
Example #21
0
 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')
Example #22
0
 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')
Example #23
0
 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')
Example #24
0
 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')
Example #25
0
    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')
Example #26
0
 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')
Example #27
0
 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")
Example #28
0
    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')
Example #29
0
    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')
Example #30
0
    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')
Example #31
0
    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')
Example #32
0
 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')
Example #33
0
    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')
Example #34
0
 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')
Example #35
0
 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')
Example #36
0
 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')
Example #37
0
    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')
Example #38
0
 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")
Example #39
0
 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')
Example #40
0
    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')
Example #41
0
 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')
Example #42
0
 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")
Example #43
0
 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')
Example #44
0
 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')
Example #45
0
 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")
Example #46
0
 def new(self):        
     c.pagename = "contacts"
     c.heading = "Contacts::New"
     c.contact = model.Contacts()     
     return render('/derived/contacts/new.html')
Example #47
0
     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']
Example #48
0
    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)
Example #49
0
 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')
Example #50
0
 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)
Example #51
0
 def index(self):
     # Return a rendered template
     #return render('/example.mako')
     # or, return a string
     #return 'Hello World'
     return render('/example.mako')
Example #52
0
 def index(self):
     c.pagename = "homepage"
     
     
     return render('/derived/homepage/home.html')