From 1481758fd7874f63c2522b8eaf4ee302d7bf7b74 Mon Sep 17 00:00:00 2001 From: Laukik Hase Date: Fri, 28 Jan 2022 10:36:10 +0530 Subject: [PATCH] esp_prov.py: Replaced deprecated function for loading modules --- tools/esp_prov/proto/__init__.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/tools/esp_prov/proto/__init__.py b/tools/esp_prov/proto/__init__.py index 2000b4dad9..c94f37bdd3 100644 --- a/tools/esp_prov/proto/__init__.py +++ b/tools/esp_prov/proto/__init__.py @@ -2,13 +2,20 @@ # SPDX-License-Identifier: Apache-2.0 # +import importlib.util import os -from types import ModuleType +import sys +from importlib.abc import Loader +from typing import Any -def _load_source(name, path): # type: (str, str) -> ModuleType - from importlib.machinery import SourceFileLoader - return SourceFileLoader(name, path).load_module(name) +def _load_source(name, path): # type: (str, str) -> Any + spec = importlib.util.spec_from_file_location(name, path) + module = importlib.util.module_from_spec(spec) + sys.modules[spec.name] = module + assert isinstance(spec.loader, Loader) + spec.loader.exec_module(module) + return module idf_path = os.environ['IDF_PATH']