Exemple #1
0
        elif field.uatype == 'DateTime':
            return 'datetime.utcnow()'
        elif field.uatype in ('Int16', 'Int32', 'Int64', 'UInt16', 'UInt32',
                              'UInt64', 'Double', 'Float', 'Byte'):
            return 0
        elif field.uatype in 'ExtensionObject':
            return 'ExtensionObject()'
        else:
            return f'field(default_factory={field.uatype})'


if __name__ == '__main__':
    import generate_model as gm

    xml_path = os.path.join(BASE_DIR, 'schemas', 'UA-Nodeset-master', 'Schema',
                            'Opc.Ua.Types.bsd')
    protocol_path = os.path.join(BASE_DIR, "asyncua", "ua",
                                 "uaprotocol_auto.py")
    p = gm.Parser(xml_path)
    model = p.parse()
    gm.add_basetype_members(model)
    gm.add_encoding_field(model)
    gm.remove_duplicates(model)
    gm.remove_vector_length(model)
    gm.split_requests(model)
    gm.fix_names(model)
    gm.remove_duplicate_types(model)
    gm.reorder_structs(model)
    c = CodeGenerator(model, protocol_path)
    c.run()
if __name__ == "__main__":
    xmlpath = "Opc.Ua.Types.bsd"
    hpath = "../include/opc/ua/protocol/protocol_auto.h"
    enumpath = "../include/opc/ua/protocol/enums.h"
    serializerpath = "../src/protocol/serialize_auto.cpp"
    rawsizepath = "../src/protocol/rawsize_auto.cpp"
    deserializerpath = "../src/protocol/deserialize_auto.cpp"
    constructorspath = "../src/protocol/constructors_auto.cpp"

    p = gm.Parser(xmlpath)
    model = p.parse()
    gm.add_basetype_members(model)
    gm.add_encoding_field(model)
    gm.remove_duplicates(model)
    gm.remove_vector_length(model)
    gm.split_requests(model, NoSplitStruct)

    #p = Parser(xmlpath)
    #model = p.parse()
    #Changes specific to our C++ implementation
    #reorder_extobjects(model)
    #add_basetype_members(model)
    #add_encoding_field(model)
    #remove_vector_length(model)
    #remove_body_length(model)
    #remove_duplicates(model)
    #split_requests(model)
    reorder_structs(model)
    override_types(model)

    f = open("struct_list.txt", "w")
        if field.uatype in ("String"):
            return None 
        elif field.uatype in ("ByteString", "CharArray", "Char"):
            return None 
        elif field.uatype in ("Boolean"):
            return "True"
        elif field.uatype in ("DateTime"):
            return "datetime.utcnow()"
        elif field.uatype in ("Int16", "Int32", "Int64", "UInt16", "UInt32", "UInt64", "Double", "Float", "Byte"):
            return 0
        elif field.uatype in ("ExtensionObject"):
            return "ExtensionObject()"
        else:
            return field.uatype + "()"

if __name__ == "__main__":
    import generate_model as gm
    xmlpath = "Opc.Ua.Types.bsd"
    protocolpath = "../opcua/ua/uaprotocol_auto.py"
    p = gm.Parser(xmlpath)
    model = p.parse()
    gm.add_basetype_members(model)
    gm.add_encoding_field(model)
    gm.remove_duplicates(model)
    gm.remove_vector_length(model)
    gm.split_requests(model)
    gm.fix_names(model)
    gm.remove_duplicate_types(model)
    c = CodeGenerator(model, protocolpath)
    c.run()
if __name__ == "__main__":
    xmlpath = "Opc.Ua.Types.bsd"
    hpath = "../include/opc/ua/protocol/protocol_auto.h"
    enumpath = "../include/opc/ua/protocol/enums.h"
    serializerpath = "../src/protocol/serialize_auto.cpp"
    rawsizepath = "../src/protocol/rawsize_auto.cpp"
    deserializerpath = "../src/protocol/deserialize_auto.cpp"
    constructorspath = "../src/protocol/constructors_auto.cpp"

    p = gm.Parser(xmlpath)
    model = p.parse()
    gm.add_basetype_members(model)
    gm.add_encoding_field(model)
    gm.remove_duplicates(model)
    gm.remove_vector_length(model)
    gm.split_requests(model, NoSplitStruct)

    #p = Parser(xmlpath)
    #model = p.parse()
    #Changes specific to our C++ implementation
    #reorder_extobjects(model)
    #add_basetype_members(model)
    #add_encoding_field(model)
    #remove_vector_length(model)
    #remove_body_length(model)
    #remove_duplicates(model)
    #split_requests(model)
    reorder_structs(model)
    override_types(model)

    f = open("struct_list.txt", "w")