Exemplo n.º 1
0
 def handle_line(self, line):
     if line[0] == '#':
         return None
     if line[0] == 'S':
         return None
     start, end = line.split()[:2]
     return address.create_address(start + "-" + end)
Exemplo n.º 2
0
    def get(self):
        page = urlfetch.fetch(self.url, deadline=60)
        if page.status_code != 200:
            logging.error(self.tag + " returned: " + str(blist.status_code))
            self.response.headers['Content-Type'] = 'text/plain'
            self.response.write(self.tag + " returned: " +
                                str(blist.status_code))
            return
        ltree = lxml.etree.fromstring(page.content)

        nets = set()

        ipv4 = ltree.xpath(
            "/products/product[@name='SPO']/addresslist[@type='IPv4']/address")
        for a in ipv4:
            addr = address.create_address(a.text)
            if addr == None:
                continue
            if type(addr) != types.ListType:
                addr = [addr]
            for a in addr:
                if not a in nets:
                    nets.add(a)
        nets = address.optimize_list([x for x in nets])

        self.response.headers['Content-Type'] = 'text/plain'
        self.response.write(self.tag + " list\n" + "# entries: " +
                            str(len(nets)) + "\n\n" +
                            '\n'.join(map(repr, nets)))
        dblist = BlockList(tag=self.tag, iplist=map(repr, nets))
        dblist.put()
        memcache.delete("l" + self.tag)
        memcache.delete("t" + self.tag)
        logging.info(self.tag + " refreshed")
Exemplo n.º 3
0
    def get(self):
        page = urlfetch.fetch(self.url, deadline=60)
        if page.status_code != 200:
            logging.error(self.tag+" returned: "+str(blist.status_code))
            self.response.headers['Content-Type'] = 'text/plain'
            self.response.write(self.tag+" returned: "+str(blist.status_code))
            return
        ltree = lxml.etree.fromstring(page.content)

        nets = set()

        ipv4 = ltree.xpath("/products/product[@name='SPO']/addresslist[@type='IPv4']/address")
        for a in ipv4:
            addr = address.create_address(a.text)
            if addr == None:
                continue
            if type(addr) != types.ListType:
                addr = [addr]
            for a in addr:
                if not a in nets:
                    nets.add(a)
        nets = address.optimize_list([ x for x in nets ])
        
        self.response.headers['Content-Type'] = 'text/plain'
        self.response.write(self.tag+" list\n"+"# entries: "+str(len(nets))+"\n\n"+'\n'.join(map(repr, nets)))
        dblist = BlockList(tag=self.tag, iplist=map(repr, nets))
        dblist.put()
        memcache.delete("l"+self.tag)
        memcache.delete("t"+self.tag)
        logging.info(self.tag+" refreshed")
Exemplo n.º 4
0
 def handle_line(self, line):
     if line[0] == '#':
         return None
     if line[0] == 'S':
         return None
     start, end = line.split()[:2]
     return address.create_address(start+"-"+end)
Exemplo n.º 5
0
    def handle_line(self, line):
        if line[0] == '#':
            return None
        source = line.split(None, 2)[2]
        if source[0] == '[':
            source = source[1:source.index(']')]
            source = source.split(',')
        else:
            source = [source]

        result = []
        for a in source:
            try:
                result.append(address.create_address(a))
            except:
                logging.exception('Error decoding: {!r}'.format(a))
                pass
        return result
Exemplo n.º 6
0
 def handle_line(self, line):
     if line[0] == ";":
         return None
     net = line.partition(";")[0]
     return address.create_address(net)
Exemplo n.º 7
0
 def handle_line(self, line):
     return address.create_address(line)
Exemplo n.º 8
0
 def handle_line(self, line):
     if line[0] == '#':
         return None
     return address.create_address(line)
Exemplo n.º 9
0
 def handle_line(self, line):
     if line[0] == "#":
         return None
     net = line.split(",")[0]
     return address.create_address(net)
Exemplo n.º 10
0
 def handle_line(self, line):
     if line[0] == ";":
         return None
     net = line.partition(";")[0]
     return address.create_address(net)
Exemplo n.º 11
0
 def handle_line(self, line):
     return address.create_address(line)
Exemplo n.º 12
0
 def handle_line(self, line):
     if line[0] == '#':
         return None
     return address.create_address(line)
Exemplo n.º 13
0
 def handle_line(self, line):
     if line[0] == "#":
         return None
     net = line.split(",")[0]
     return address.create_address(net)