def comparator(self, asns = None): """ Get the data needed to display the page of the comparator FIXME: rewrite it!! """ js_name = self.config.get('web','canvas_comparator_name') asns_to_return = [] if asns is not None: splitted_asns = asns.split() g = GraphGenerator(js_name) title = '' for asn in splitted_asns: if asn.isdigit(): asns_to_return.append(asn) graph_last_date = datetime.date.today() graph_first_date = datetime.date.today() - datetime.timedelta(days=self.days_graph) graph_dates = self.report.get_dates_from_interval(graph_first_date, graph_last_date) dates_sources = self.report.get_all_sources(graph_dates) all_ranks = self.report.get_all_ranks(asn, graph_dates, dates_sources) data_graph, last_seen_sources = self.report.prepare_graphe_js(all_ranks, graph_dates, dates_sources) g.add_line(data_graph, str(asn + self.report.ip_key), graph_dates) title += asn + ' ' if len(g.lines) > 0: g.set_title(title) g.make_js() self.js = g.js self.js_name = js_name else: self.js = self.js_name = None return " ".join(asns_to_return)
def comparator(self, asns=None): js_name = config.get("web", "canvas_comparator_name") if asns is None: pass else: splitted_asns = asns.split() g = GraphGenerator(js_name) title = "" for asn in splitted_asns: if asn.isdigit(): self.report.prepare_graphe_js(asn) # as_graph_infos : [ipv4, ipv6, dates, first_date, last_date] as_graph_infos = self.report.graph_infos g.add_line( [as_graph_infos[0], as_graph_infos[2]], asn + " IPv4", as_graph_infos[3], as_graph_infos[4] ) g.add_line( [as_graph_infos[1], as_graph_infos[2]], asn + " IPv6", as_graph_infos[3], as_graph_infos[4] ) title += asn + " " if len(g.lines) > 0: g.set_title(title) g.make_js() self.js = g.js self.js_name = js_name else: self.js = self.js_name = None
def make_graph(self, infos): js_name = config.get('web','canvas_asn_name') g = GraphGenerator(js_name) g.add_line(infos, self.report.ip_key, self.graph_first_date, self.graph_last_date ) g.set_title(self.asn) g.make_js() self.js = g.js self.js_name = js_name
def make_graph(self, infos): js_name = config.get("web", "canvas_asn_name") g = GraphGenerator(js_name) g.add_line([infos[0], infos[2]], "IPv4", infos[3], infos[4]) g.add_line([infos[1], infos[2]], "IPv6", infos[3], infos[4]) g.set_title(self.asn) g.make_js() self.js = g.js self.js_name = js_name
def make_graph(self, asn, infos): """ Generate the graph with the data provided by the model """ js_name = self.config.get('web','canvas_asn_name') g = GraphGenerator(js_name) graph_last_date = datetime.date.today() graph_first_date = datetime.date.today() - datetime.timedelta(days=self.days_graph) graph_dates = self.report.get_dates_from_interval(graph_first_date, graph_last_date) g.add_line(infos, self.report.ip_key, graph_dates) g.set_title(asn) g.make_js() self.js = g.js self.js_name = js_name
def get_stats(self): """ Get data to diaplay on the RGraph graph """ stats = self.report.get_stats() dates = self.get_dates() lines = [] g = GraphGenerator('canvas_stats') for date in dates: line = self.report.prepare_distrib_graph(date) sorted_label = sorted(line.keys()) g.add_line(line, date, sorted_label[3:-1]) g.set_title("stats") g.make_js() return stats, g.js, 'canvas_stats'
def comparator(self, asns = None): js_name = config.get('web','canvas_comparator_name') if asns is None: pass else: splitted_asns = asns.split() g = GraphGenerator(js_name) title = '' for asn in splitted_asns: if asn.isdigit(): as_graph_infos, self.sources = self.report.prepare_graphe_js(asn, self.graph_first_date, self.graph_last_date) g.add_line(as_graph_infos, str(asn + self.report.ip_key), self.graph_first_date, self.graph_last_date) title += asn + ' ' if len(g.lines) > 0: g.set_title(title) g.make_js() self.js = g.js self.js_name = js_name else: self.js = self.js_name = None