Beispiel #1
0
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
Beispiel #2
0
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)
Beispiel #3
0
def load_build_option(element, project):
    name = utils.xml_str(element, "name")
    value = element.text
    project.build_options[name] = value
Beispiel #4
0
def load_net(element, project):
    net = Net(project, utils.xml_int(element, "id"), utils.xml_str(element, "name"))
    return net