示例#1
0
    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)
示例#2
0
 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
示例#3
0
 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
示例#4
0
 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
示例#5
0
 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
示例#6
0
 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'
示例#7
0
 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