Esempio n. 1
0
 def __init__(self, element):
     ParserHelper.__init__(self)
     self.name = element.getAttribute('name').encode()
     self.machine = Machine(self.name)
     for attr in ['parent', 'diskconfig', 'kernel', 'profile']:
         setattr(self, attr, None)
         if element.hasAttribute(attr):
             setattr(self, attr, element.getAttribute(attr).encode())
         setattr(self.machine, attr, getattr(self, attr))
     mods = element.getElementsByTagName('module')
     fams = element.getElementsByTagName('family')
     scripts = element.getElementsByTagName('script')
     vars_ = element.getElementsByTagName('machine_variable')
     
     for f in fams:
         family = get_child(f)
         self.machine.append_family(family)
     for s in scripts:
         name = s.getAttribute('name').encode()
         self.machine.append_script(name)
     for v in vars_:
         trait = v.getAttribute('trait').encode()
         name = v.getAttribute('name').encode()
         value = get_child(v)
         self.machine.append_variable(trait, name, value)
Esempio n. 2
0
def parse_machine(element):
    name = get_child(element)
    mtype = get_attribute('machine_type', element)
    filesystem = get_attribute('filesystem', element)
    kernel = get_attribute('kernel', element)
    profile = get_attribute('profile', element)
    return Machine(name, mtype, filesystem, kernel, profile)