mirror of
https://github.com/TeamPGM/pyrogram.git
synced 2024-11-16 12:51:18 +00:00
Fix plugin modules not being properly reloaded from disk
When using importlib.import_module, Python loads the module from disk only once and any subsequent call to this method will just re-import the already loaded module from RAM. Wrapping importlib.import_module with importlib.reload will make Python force-reload the module from disk.
This commit is contained in:
parent
0f84f91939
commit
ac8fad3a18
@ -26,7 +26,7 @@ import threading
|
||||
import time
|
||||
from configparser import ConfigParser
|
||||
from hashlib import sha256, md5
|
||||
from importlib import import_module
|
||||
from importlib import import_module, reload
|
||||
from pathlib import Path
|
||||
from signal import signal, SIGINT, SIGTERM, SIGABRT
|
||||
from threading import Thread
|
||||
@ -1531,7 +1531,7 @@ class Client(Methods, BaseClient):
|
||||
if not include:
|
||||
for path in sorted(Path(root).rglob("*.py")):
|
||||
module_path = '.'.join(path.parent.parts + (path.stem,))
|
||||
module = import_module(module_path)
|
||||
module = reload(import_module(module_path))
|
||||
|
||||
for name in vars(module).keys():
|
||||
# noinspection PyBroadException
|
||||
@ -1553,7 +1553,7 @@ class Client(Methods, BaseClient):
|
||||
warn_non_existent_functions = True
|
||||
|
||||
try:
|
||||
module = import_module(module_path)
|
||||
module = reload(import_module(module_path))
|
||||
except ImportError:
|
||||
log.warning('[{}] [LOAD] Ignoring non-existent module "{}"'.format(
|
||||
self.session_name, module_path))
|
||||
@ -1591,7 +1591,7 @@ class Client(Methods, BaseClient):
|
||||
warn_non_existent_functions = True
|
||||
|
||||
try:
|
||||
module = import_module(module_path)
|
||||
module = reload(import_module(module_path))
|
||||
except ImportError:
|
||||
log.warning('[{}] [UNLOAD] Ignoring non-existent module "{}"'.format(
|
||||
self.session_name, module_path))
|
||||
|
Loading…
Reference in New Issue
Block a user