diff --git a/dentos-poe-agent/opt/poeagent/bin/poecli.py b/dentos-poe-agent/opt/poeagent/bin/poecli.py index e626297..d246c14 100755 --- a/dentos-poe-agent/opt/poeagent/bin/poecli.py +++ b/dentos-poe-agent/opt/poeagent/bin/poecli.py @@ -21,7 +21,6 @@ import binascii import re -import imp import sys import subprocess import os @@ -64,7 +63,7 @@ def platform_src_path(self): print_stderr("Failed to get platform path. err: %s" % str(e)) def load_poe_platform(self): - plat_src = imp.load_source("poe_plat", self.platform_src_path()) + plat_src = load_source("poe_plat", self.platform_src_path()) poe_plat = plat_src.get_poe_platform() return poe_plat diff --git a/dentos-poe-agent/opt/poeagent/bin/poed.py b/dentos-poe-agent/opt/poeagent/bin/poed.py index 97f76aa..8c463b9 100755 --- a/dentos-poe-agent/opt/poeagent/bin/poed.py +++ b/dentos-poe-agent/opt/poeagent/bin/poed.py @@ -25,7 +25,6 @@ import errno import threading import signal -import imp import time import json import fcntl @@ -184,7 +183,7 @@ def platform_src_path(self): def load_poe_plat(self): poe_plat = None try: - plat_src = imp.load_source("poe_plat", self.platform_src_path()) + plat_src = load_source("poe_plat", self.platform_src_path()) poe_plat = plat_src.get_poe_platform() except Exception as e: self.log.alert("Failed to load PoE platform. err: %s" % str(e)) diff --git a/dentos-poe-agent/opt/poeagent/inc/poe_common.py b/dentos-poe-agent/opt/poeagent/inc/poe_common.py index fbdd872..18157dc 100755 --- a/dentos-poe-agent/opt/poeagent/inc/poe_common.py +++ b/dentos-poe-agent/opt/poeagent/inc/poe_common.py @@ -20,6 +20,7 @@ import syslog import fcntl import traceback +import importlib.util from pathlib import Path # POE Driver Attributes @@ -297,3 +298,13 @@ def check_init_plat_ret_result(init_poe_result, sum_mode=0): elif type(itm_result) is int: sum_result += itm_result return (all_ret, sum_result) + +def load_source(name, pathname): + module = None + spec = None + + spec = importlib.util.spec_from_file_location(name, pathname) + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) + + return module