def load_project(element, target_envs, build_target="build", load_nets=True): target_env = utils.xml_str(element, "target_env") if target_env not in target_envs: raise utils.PtpException("Unknown target environment") description = element.find("description").text name = utils.xml_str(element, "name") root_directory = utils.xml_str(element, "root-directory") p = Project(name, root_directory, target_envs[target_env], description) p.build_target = build_target p.library_rpc = utils.xml_bool(element, "library-rpc", False) p.library_octave = utils.xml_bool(element, "library-octave", False) p.tracing = utils.xml_bool(element, "tracing", False) load_configuration(element.find("configuration"), p) if not load_nets: return p nets = [ (e, load_net(e, p)) for e in element.findall("net") ] p.nets = [ net for e, net in nets ] for e, net in nets: load_net_content(e, p, net) return p
def load_parameter(element, project): name = utils.xml_str(element, "name") default = utils.xml_str(element, "default") description = utils.xml_str(element, "description") typename = element.get("type") project.parse_typename(typename, None) policy = utils.xml_str(element, "policy") return Parameter(name, typename, default, description, policy)
def load_build_option(element, project): name = utils.xml_str(element, "name") value = element.text project.build_options[name] = value
def load_net(element, project): net = Net(project, utils.xml_int(element, "id"), utils.xml_str(element, "name")) return net