Exemple #1
0
    def begin_initialize_code_gen_info(self, metadata_url, user_name='', password=''):
        self._reset_class_info()
        parser = None
        if user_name and password:
            options = odata_client_python.client_options()
            options.enable_client_credential(user_name, password)
            client = odata_client_python.odata_client(metadata_url, options)
        else:
            client = odata_client_python.odata_client(metadata_url)
        if client is None:
            return False

        self._model = client.get_model().get()
        if self._model is None:
            return False

        entity_container = self._model.find_container()
        if entity_container is None:
            print ("must have an entity container in model!")
            exit(-1)

        ns_entity_container = ''
        for schema in self._model.get_schema():
            if schema.find_container() is not None:
                ns_entity_container = schema.get_name()

        total = schema_info()
        for schema in self._model.get_schema():
            self._initialize_class_info(schema, total)
            self._initialize_property_info_of_class(schema, total)

        self._code_gen_map = {}
        self._code_gen_map[ns_entity_container] = total
    def begin_initialize_code_gen_info(self, metadata_url, user_name='', password=''):
        self._reset_class_info()
        parser = None
        if user_name and password:
            options = odata_client_python.client_options()
            options.enable_client_credential(user_name, password)
            client = odata_client_python.odata_client(metadata_url, options)
        else:
            client = odata_client_python.odata_client(metadata_url)
        if client is None:
            return False

        self._model = client.get_model().get()
        if self._model is None:
            return False

        entity_container = self._model.find_container()
        if entity_container is None:
            print ("must have an entity container in model!")
            exit(-1)

        ns_entity_container = ''
        for schema in self._model.get_schema():
            if schema.find_container() is not None:
                ns_entity_container = schema.get_name()

        for schema in self._model.get_schema():
            _schema_info = schema_info()
            self._initialize_class_info(schema, _schema_info)
            self._initialize_property_info_of_class(schema, _schema_info)
            self._code_gen_map[schema.get_name()] = _schema_info

        total = schema_info()
        for schema in self._code_gen_map:
            _schema_info = self._code_gen_map[schema]
            total.class_property_map.update(_schema_info.class_property_map)
            total.class_map.update(_schema_info.class_map)
            total.class_list += _schema_info.class_list
            total.derived_classes.update(_schema_info.derived_classes)
        self._code_gen_map = {}
        self._code_gen_map[ns_entity_container] = total
Exemple #3
0
 def __init__(self, base_address, options=odata_client_python.client_options()):
     self._client = odata_client_python.odata_client(base_address, options)
     self._model = None