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)
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" )