blob: 200d3ba2d0a4b4a5108399d5f18fc6b5aa017b70 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
from xml.etree.ElementTree import ElementTree
class WhoisNetwork():
def __init__(self, name):
self.name = name
self.domain = None
self.ip_blocks = []
self.data = {}
class WhoisData():
def __init__(self, config):
self.networks = []
self.config = config
def parse_config(self): pass
def load_data(self): pass
def get_networks(self):
if self.networks == None:
self.load_data()
return self.networks
class WhoisDataXML(WhoisData):
def parse_config():
self.data_file = self.config.get('Storage', 'xml_file')
def load_data(self):
root = ElementTree(file=self.data_file).getroot()
for elem in root:
network = WhoisNetwork(elem.attrib['name'])
for e in elem:
if e.tag == 'ip_block':
network.ip_blocks.append(e.text)
else:
network.data[e.tag] = e.text
self.networks.append(network)
|