def response(self): '''watch ''' zoo_client = ZookeeperService.get_zoo_client(self.cluster_name) if not zoo_client: return self.ajax_popup(code=300, msg="连接zookeeper出错!") try: zk_agents = zoo_client.get_children(self.agent_register_prefix) except NoNodeError: return self.ajax_popup(code=300, msg="节点路径不存在!") records = ZdQconfAgent.select().where( (ZdQconfAgent.cluster_name == self.cluster_name) & (ZdQconfAgent.deleted == '0') ) mysql_agents = [record.hostname for record in records] # agent在mysql上的统计信息和在zookeeper上注册信息的对比 agents_stat = [] for diff_info in Differ().compare(mysql_agents, zk_agents): agent_name = diff_info[2:] if diff_info[0] == "+": cmp_res = ['无', agent_name] elif diff_info[0] == "-": cmp_res = [agent_name, '无'] else: cmp_res = [agent_name, agent_name] agents_stat.append(cmp_res) return agents_stat
def response(self): '''导出选中数据到excel中 ''' id_li = self.info_ids.split(',') sheet_text = ZdQconfAgent.select().where(ZdQconfAgent.id << id_li) sheet_title = [ { 'name': 'ip' }, { 'name': '主机名' }, { 'name': '说明' }, ] bind_attr = ( 'ip', 'hostname', 'notes', ) ewb = ExcelWorkBook() sheet_name = ZdQconfAgent._meta.db_table ewb.add_sheet(sheet_name) ewb.add_title(sheet_name, sheet_title) ewb.add_text(sheet_name, sheet_text, bind=bind_attr) filename = '{}.xls'.format(sheet_name) filename = urllib.urlencode({'filename': filename}) self.set_header('Content-Disposition', 'attachment;{}'.format(filename)) self.finish(ewb.get_stream())
def response(self): '''search ''' clauses = self.parse_query(ZdQconfAgent) order = getattr(ZdQconfAgent, self.order_field) records = ZdQconfAgent.select().order_by( getattr(order, self.order_direction)() ).where(reduce(operator.and_, clauses)) self.render('config/agent/datagrid.html', total=records.count(), current_page=self.current_page, page_size=self.page_size, records=records.paginate(self.current_page, self.page_size))
def response(self): """index """ clauses = self.parse_query(ZdQconfAgent) order = getattr(ZdQconfAgent, self.order_field) records = ( ZdQconfAgent.select().order_by(getattr(order, self.order_direction)()).where(reduce(operator.and_, clauses)) ) self.render( "config/agent/index.html", action="/config/agent/index", total=records.count(), current_page=self.current_page, page_size=self.page_size, records=records.paginate(self.current_page, self.page_size), )
def response(self): """导出选中数据到excel中 """ id_li = self.info_ids.split(",") sheet_text = ZdQconfAgent.select().where(ZdQconfAgent.id << id_li) sheet_title = [{"name": "ip"}, {"name": "主机名"}, {"name": "说明"}] bind_attr = ("ip", "hostname", "notes") ewb = ExcelWorkBook() sheet_name = ZdQconfAgent._meta.db_table ewb.add_sheet(sheet_name) ewb.add_title(sheet_name, sheet_title) ewb.add_text(sheet_name, sheet_text, bind=bind_attr) filename = "{}.xls".format(sheet_name) filename = urllib.urlencode({"filename": filename}) self.set_header("Content-Disposition", "attachment;{}".format(filename)) self.finish(ewb.get_stream())
def response(self): '''导出选中数据到excel中 ''' id_li = self.info_ids.split(',') sheet_text = ZdQconfAgent.select().where(ZdQconfAgent.id << id_li) sheet_title = [ {'name': 'ip'}, {'name': '主机名'}, {'name': '说明'}, ] bind_attr = ( 'ip', 'hostname', 'notes', ) ewb = ExcelWorkBook() sheet_name = ZdQconfAgent._meta.db_table ewb.add_sheet(sheet_name) ewb.add_title(sheet_name, sheet_title) ewb.add_text(sheet_name, sheet_text, bind=bind_attr) filename = '{}.xls'.format(sheet_name) filename = urllib.urlencode({'filename': filename}) self.set_header('Content-Disposition', 'attachment;{}'.format(filename)) self.finish(ewb.get_stream())