def load_xml(self, filename):
     xml = XML(filename)
     categories = xml.xpath('//configuration/variables/category')
     for category in categories:
         section_name = category.get('id')
         if not self.config.has_section(section_name):
             self.config.add_section(section_name)
         options = category.xpath('./variablelist/variable')
         for option in options:
             option_name = option.get('id')
             value = option.xpath('./value')[0].text
             if not value:
                 value = ""
             self.config.set(section_name, option_name, value)
Exemple #2
0
 def __init__(self, rspec="", version=None, user_options={}):
     self.header = '<?xml version="1.0"?>\n'
     self.template = """<RSpec></RSpec>"""
     self.version = None
     self.xml = XML()
     self.version_manager = VersionManager()
     self.user_options = user_options
     self.elements = {}
     if rspec:
         if version:
             self.version = self.version_manager.get_version(version)
             self.parse_xml(rspec, version)
         else:
             self.parse_xml(rspec)
     elif version:
         self.create(version)
     else:
         raise InvalidRSpec(
             "No RSpec or version specified. Must specify a valid rspec string or a valid version"
         )