Do not reload plugins from disk

Reloading from disk causes modules to be re-evaluated, and this is
often not desirable. This will break the ability to hot reload plugins
This commit is contained in:
Dan 2020-07-17 13:41:24 +02:00
parent 3f47de47d9
commit 2504286365

View File

@ -27,7 +27,7 @@ import threading
import time
from configparser import ConfigParser
from hashlib import sha256, md5
from importlib import import_module, reload
from importlib import import_module
from pathlib import Path
from signal import signal, SIGINT, SIGTERM, SIGABRT
from threading import Thread
@ -1523,7 +1523,7 @@ class Client(Methods, BaseClient):
if not include:
for path in sorted(Path(root.replace(".", "/")).rglob("*.py")):
module_path = '.'.join(path.parent.parts + (path.stem,))
module = reload(import_module(module_path))
module = import_module(module_path)
for name in vars(module).keys():
# noinspection PyBroadException
@ -1545,7 +1545,7 @@ class Client(Methods, BaseClient):
warn_non_existent_functions = True
try:
module = reload(import_module(module_path))
module = import_module(module_path)
except ImportError:
log.warning('[{}] [LOAD] Ignoring non-existent module "{}"'.format(
self.session_name, module_path))