diff options
author | Raúl Benencia <rbenencia@linti.unlp.edu.ar> | 2012-08-02 20:10:28 -0300 |
---|---|---|
committer | Raúl Benencia <rbenencia@linti.unlp.edu.ar> | 2012-08-02 20:10:28 -0300 |
commit | ee504272d535dcfab2d00948a1b005b87dc6605a (patch) | |
tree | 9d18cd6d1d923da942261bfa591e2290d68a6e92 /xml.py | |
parent | 849895f9f94b70d55f3b69db07f23ba93468bca4 (diff) |
Merge xml.py with model.py
Diffstat (limited to 'xml.py')
-rw-r--r-- | xml.py | 72 |
1 files changed, 0 insertions, 72 deletions
@@ -1,72 +0,0 @@ -from xml.etree import ElementTree -import model - -class DataXML(model.Data): - """Reads network information from a XML file""" - - def parse_config(self): - """Reads and sets up XML config file fields""" - - self.data_file = self.config['Storage']['xml_file'] - - def load_data(self): - """Parse XML for getting network information""" - - root = ElementTree(file=self.data_file).getroot() - - for elem in root: - if elem.tag == 'person': - self.add_person(elem) - elif elem.tag == 'domain': - self.add_domain(elem) - elif elem.tag == 'network': - self.add_network(elem) - else: - pass # raise TagNotFoundError - - - def add_person(self, elem): - """Adds a new person""" - - person = model.Person() - for e in elem: - if e.tag == 'name': - person.name = e.text - elif e.tag == 'surname': - person.surname = e.text - elif e.tag == 'email': - person.email = e.text - else: - person.data[e.tag] = e.text - - self.persons[elem.attrib['id']] = person - - def add_domain(self, elem): - """Adds a new domain""" - - domain = model.Domain() - for e in elem: - if e.tag == 'name': - domain.name == e.text - else: - domain.data[e.tag] = e.text - - self.domains[elem.attrib['id']] = domain - - def add_network(self, elem): - """Adds a new network""" - - network = model.Network() - for e in elem: - if e.tag == 'name': - network.name = e.text - elif e.tag == 'domain': - network.domains.append(e.text) - elif e.tag == 'ip_block': - network.ip_blocks.append(e.text) - elif e.tag == 'admin': - network.admins.append(e.text) - else: - network.data[e.tag] = e.text - - self.networks[elem.attrib['id']] = network |