def get_currently(self): # pylint:disable=no-self-use, too-many-locals """Display currently page""" user = request.environ['beaker.session']['current_user'] webui = request.app.config['webui'] datamgr = webui.datamgr # Default states hosts_states = ['up', 'down', 'unreachable'] services_states = [ 'ok', 'warning', 'critical', 'unreachable', 'unknown' ] # Get the stored panels in user's preferences panels = datamgr.get_user_preferences(user, 'panels', None) if not panels: panels = { 'panel_hosts': { 'collapsed': False }, 'panel_services': { 'collapsed': False }, 'panel_ls_history_hosts': { 'collapsed': False }, 'panel_ls_history_services': { 'collapsed': False } } # Get the stored graphs graphs = datamgr.get_user_preferences(user, 'currently_graphs', None) if not graphs: graphs = { 'pie_graph_hosts': { 'legend': True, 'title': True, 'states': hosts_states }, 'pie_graph_services': { 'legend': True, 'title': True, 'states': services_states }, 'line_graph_hosts': { 'legend': True, 'title': True, 'states': hosts_states }, 'line_graph_services': { 'legend': True, 'title': True, 'states': services_states } } # Live state global and history (livesynthesis, ls_history) = datamgr.get_livesynthesis_history() hs = livesynthesis['hosts_synthesis'] ss = livesynthesis['services_synthesis'] ls_history = sorted(ls_history, key=lambda x: x['_timestamp'], reverse=False) collapsed = False if 'panel_hosts' in panels: collapsed = panels['panel_hosts']['collapsed'] p_h = Helper.get_html_hosts_count_panel( hs, self.webui.get_url('Hosts table'), collapsed=collapsed) collapsed = False if 'panel_services' in panels: collapsed = panels['panel_services']['collapsed'] p_s = Helper.get_html_services_count_panel( ss, self.webui.get_url('Services table'), collapsed=collapsed) collapsed = False if 'panel_ls_history_hosts' in panels: collapsed = panels['panel_ls_history_hosts']['collapsed'] lsh = Helper.get_html_hosts_ls_history(hs, ls_history, collapsed=collapsed) collapsed = False if 'panel_ls_history_services' in panels: collapsed = panels['panel_ls_history_services']['collapsed'] ssh = Helper.get_html_services_ls_history(ss, ls_history, collapsed=collapsed) return { 'panels': panels, 'panel_hosts': p_h, 'panel_ls_history_hosts': lsh, 'panel_services': p_s, 'panel_ls_history_services': ssh, 'title': request.query.get('title', _('Keep an eye')) }