__init__.py 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. # SPDX-FileCopyrightText: 2018-2022 Espressif Systems (Shanghai) CO LTD
  2. # SPDX-License-Identifier: Apache-2.0
  3. #
  4. import importlib.util
  5. import os
  6. import sys
  7. from importlib.abc import Loader
  8. from typing import Any
  9. def _load_source(name: str, path: str) -> Any:
  10. spec = importlib.util.spec_from_file_location(name, path)
  11. if not spec:
  12. return None
  13. module = importlib.util.module_from_spec(spec)
  14. sys.modules[spec.name] = module
  15. assert isinstance(spec.loader, Loader)
  16. spec.loader.exec_module(module)
  17. return module
  18. idf_path = os.environ['IDF_PATH']
  19. # protocomm component related python files generated from .proto files
  20. constants_pb2 = _load_source('constants_pb2', idf_path + '/components/protocomm/python/constants_pb2.py')
  21. sec0_pb2 = _load_source('sec0_pb2', idf_path + '/components/protocomm/python/sec0_pb2.py')
  22. sec1_pb2 = _load_source('sec1_pb2', idf_path + '/components/protocomm/python/sec1_pb2.py')
  23. sec2_pb2 = _load_source('sec2_pb2', idf_path + '/components/protocomm/python/sec2_pb2.py')
  24. session_pb2 = _load_source('session_pb2', idf_path + '/components/protocomm/python/session_pb2.py')
  25. # wifi_provisioning component related python files generated from .proto files
  26. wifi_constants_pb2 = _load_source('wifi_constants_pb2', idf_path + '/components/wifi_provisioning/python/wifi_constants_pb2.py')
  27. wifi_config_pb2 = _load_source('wifi_config_pb2', idf_path + '/components/wifi_provisioning/python/wifi_config_pb2.py')
  28. wifi_scan_pb2 = _load_source('wifi_scan_pb2', idf_path + '/components/wifi_provisioning/python/wifi_scan_pb2.py')
  29. wifi_ctrl_pb2 = _load_source('wifi_ctrl_pb2', idf_path + '/components/wifi_provisioning/python/wifi_ctrl_pb2.py')