Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

toggle plugin dis/enable #4452

Open
UserX404 opened this issue Apr 21, 2024 · 1 comment
Open

toggle plugin dis/enable #4452

UserX404 opened this issue Apr 21, 2024 · 1 comment
Assignees
Labels
bug Something isn't working pyLoad Next

Comments

@UserX404
Copy link

Description

Background:

Due to i have running downloads atm I downloaded some of the latest commits manually e.g. KatfileCom.py into my install dir (renamed old one and removed afterwards).
I checked permissiones etc. - all should be fine.

Issue:

I tried to disable and enable the plugin again. The log indicates 'Plugin xxx not found', so i tried to toggle the enable of an other, untouched plugin which leads to the same log lines.
Is the plugin now loaded? There is no log output when disabling a plugin.
The listed (found) addons leads me to the assumption that the enable toggle of a random plugin triggers the search but only checks the folder .../plugins/addons/.

Question:

My assumption was i should be able to disable and enable plugins on the fly. Is this not supported? Should there be a log output when plugin gets disabled or enabled?

Debug log

149 | 2024-04-21 13:16:56 | DEBUG | pyload | Plugin TurbobitNet not found
150 | 2024-04-21 13:16:56 | DEBUG | pyload | Available plugins : {'AndroidPhoneNotify': {'v': 0.17, 'user': False, 'name': 'AndroidPhoneNotify', 'folder': 'addons'}, 'AntiCaptcha': {'v': 0.02, 'user': False, 'name': 'AntiCaptcha', 'folder': 'addons'}, 'AntiStandby': {'v': 0.18, 'user': False, 'name': 'AntiStandby', 'folder': 'addons'}, 'AntiVirus': {'v': 0.22, 'user': False, 'name': 'AntiVirus', 'folder': 'addons'}, 'AppriseNotify': {'v': 0.02, 'user': False, 'name': 'AppriseNotify', 'folder': 'addons'}, 'BypassCaptcha': {'v': 0.14, 'user': False, 'name': 'BypassCaptcha', 'folder': 'addons'}, 'Captcha9Kw': {'v': 0.44, 'user': False, 'name': 'Captcha9Kw', 'folder': 'addons', 'pyload': <module 'pyload.plugins.addons.Captcha9Kw' from '/opt/lib/python3.11/site-packages/pyload/plugins/addons/Captcha9Kw.py'>}, 'Checksum': {'v': 0.36, 'user': False, 'name': 'Checksum', 'folder': 'addons'}, 'ClickNLoad': {'v': 0.62, 'user': False, 'name': 'ClickNLoad', 'folder': 'addons', 'pyload': <module 'pyload.plugins.addons.ClickNLoad' from '/opt/lib/python3.11/site-packages/pyload/plugins/addons/ClickNLoad.py'>}, 'CloudFlareDdos': {'v': 0.17, 'user': False, 'name': 'CloudFlareDdos', 'folder': 'addons'}, 'DeathByCaptcha': {'v': 0.17, 'user': False, 'name': 'DeathByCaptcha', 'folder': 'addons'}, 'DeleteFinished': {'v': 1.19, 'user': False, 'name': 'DeleteFinished', 'folder': 'addons'}, 'DiscordNotifier': {'v': 0.11, 'user': False, 'name': 'DiscordNotifier', 'folder': 'addons'}, 'DownloadScheduler': {'v': 0.3, 'user': False, 'name': 'DownloadScheduler', 'folder': 'addons'}, 'ExpertDecoders': {'v': 0.14, 'user': False, 'name': 'ExpertDecoders', 'folder': 'addons'}, 'ExternalScripts': {'v': 0.76, 'user': False, 'name': 'ExternalScripts', 'folder': 'addons', 'pyload': <module 'pyload.plugins.addons.ExternalScripts' from '/opt/lib/python3.11/site-packages/pyload/plugins/addons/ExternalScripts.py'>}, 'ExtractArchive': {'v': 1.73, 'user': False, 'name': 'ExtractArchive', 'folder': 'addons', 'pyload': <module 'pyload.plugins.addons.ExtractArchive' from '/opt/lib/python3.11/site-packages/pyload/plugins/addons/ExtractArchive.py'>}, 'HotFolder': {'v': 0.27, 'user': False, 'name': 'HotFolder', 'folder': 'addons'}, 'IRC': {'v': 0.29, 'user': False, 'name': 'IRC', 'folder': 'addons'}, 'ImageTyperz': {'v': 0.15, 'user': False, 'name': 'ImageTyperz', 'folder': 'addons'}, 'JustPremium': {'v': 0.27, 'user': False, 'name': 'JustPremium', 'folder': 'addons'}, 'LinkFilter': {'v': 0.16, 'user': False, 'name': 'LinkFilter', 'folder': 'addons'}, 'LogMarker': {'v': 0.08, 'user': False, 'name': 'LogMarker', 'folder': 'addons'}, 'MergeFiles': {'v': 0.24, 'user': False, 'name': 'MergeFiles', 'folder': 'addons'}, 'MultiHome': {'v': 0.21, 'user': False, 'name': 'MultiHome', 'folder': 'addons'}, 'PushBullet': {'v': 0.06, 'user': False, 'name': 'PushBullet', 'folder': 'addons'}, 'PushOver': {'v': 0.08, 'user': False, 'name': 'PushOver', 'folder': 'addons'}, 'RestartFailed': {'v': 1.65, 'user': False, 'name': 'RestartFailed', 'folder': 'addons'}, 'SkipRev': {'v': 0.39, 'user': False, 'name': 'SkipRev', 'folder': 'addons'}, 'TORRENT': {'v': 0.07, 'user': False, 'name': 'TORRENT', 'folder': 'addons', 'pyload': <module 'pyload.plugins.addons.TORRENT' from '/opt/lib/python3.11/site-packages/pyload/plugins/addons/TORRENT.py'>}, 'TransmissionRPC': {'v': 0.19, 'user': False, 'name': 'TransmissionRPC', 'folder': 'addons'}, 'UnSkipOnFail': {'v': 0.14, 'user': False, 'name': 'UnSkipOnFail', 'folder': 'addons', 'pyload': <module 'pyload.plugins.addons.UnSkipOnFail' from '/opt/lib/python3.11/site-packages/pyload/plugins/addons/UnSkipOnFail.py'>}, 'UpdateManager': {'v': 1.21, 'user': False, 'name': 'UpdateManager', 'folder': 'addons'}, 'UserAgentSwitcher': {'v': 0.18, 'user': False, 'name': 'UserAgentSwitcher', 'folder': 'addons', 'pyload': <module 'pyload.plugins.addons.UserAgentSwitcher' from '/opt/lib/python3.11/site-packages/pyload/plugins/addons/UserAgentSwitcher.py'>}, 'WindowsPhoneNotify': {'v': 0.19, 'user': False, 'name': 'WindowsPhoneNotify', 'folder': 'addons'}, 'XFileSharing': {'v': 0.56, 'user': False, 'name': 'XFileSharing', 'folder': 'addons', 'pyload': <module 'pyload.plugins.addons.XFileSharing' from '/opt/lib/python3.11/site-packages/pyload/plugins/addons/XFileSharing.py'>}, 'XMPP': {'v': 0.23, 'user': False, 'name': 'XMPP', 'folder': 'addons'}}
151 | 2024-04-21 13:18:04 | DEBUG | pyload | Plugin RapidgatorNet not found
152 | 2024-04-21 13:18:04 | DEBUG | pyload | Available plugins : {'AndroidPhoneNotify': {'v': 0.17, 'user': False, 'name': 'AndroidPhoneNotify', 'folder': 'addons'}, 'AntiCaptcha': {'v': 0.02, 'user': False, 'name': 'AntiCaptcha', 'folder': 'addons'}, 'AntiStandby': {'v': 0.18, 'user': False, 'name': 'AntiStandby', 'folder': 'addons'}, 'AntiVirus': {'v': 0.22, 'user': False, 'name': 'AntiVirus', 'folder': 'addons'}, 'AppriseNotify': {'v': 0.02, 'user': False, 'name': 'AppriseNotify', 'folder': 'addons'}, 'BypassCaptcha': {'v': 0.14, 'user': False, 'name': 'BypassCaptcha', 'folder': 'addons'}, 'Captcha9Kw': {'v': 0.44, 'user': False, 'name': 'Captcha9Kw', 'folder': 'addons', 'pyload': <module 'pyload.plugins.addons.Captcha9Kw' from '/opt/lib/python3.11/site-packages/pyload/plugins/addons/Captcha9Kw.py'>}, 'Checksum': {'v': 0.36, 'user': False, 'name': 'Checksum', 'folder': 'addons'}, 'ClickNLoad': {'v': 0.62, 'user': False, 'name': 'ClickNLoad', 'folder': 'addons', 'pyload': <module 'pyload.plugins.addons.ClickNLoad' from '/opt/lib/python3.11/site-packages/pyload/plugins/addons/ClickNLoad.py'>}, 'CloudFlareDdos': {'v': 0.17, 'user': False, 'name': 'CloudFlareDdos', 'folder': 'addons'}, 'DeathByCaptcha': {'v': 0.17, 'user': False, 'name': 'DeathByCaptcha', 'folder': 'addons'}, 'DeleteFinished': {'v': 1.19, 'user': False, 'name': 'DeleteFinished', 'folder': 'addons'}, 'DiscordNotifier': {'v': 0.11, 'user': False, 'name': 'DiscordNotifier', 'folder': 'addons'}, 'DownloadScheduler': {'v': 0.3, 'user': False, 'name': 'DownloadScheduler', 'folder': 'addons'}, 'ExpertDecoders': {'v': 0.14, 'user': False, 'name': 'ExpertDecoders', 'folder': 'addons'}, 'ExternalScripts': {'v': 0.76, 'user': False, 'name': 'ExternalScripts', 'folder': 'addons', 'pyload': <module 'pyload.plugins.addons.ExternalScripts' from '/opt/lib/python3.11/site-packages/pyload/plugins/addons/ExternalScripts.py'>}, 'ExtractArchive': {'v': 1.73, 'user': False, 'name': 'ExtractArchive', 'folder': 'addons', 'pyload': <module 'pyload.plugins.addons.ExtractArchive' from '/opt/lib/python3.11/site-packages/pyload/plugins/addons/ExtractArchive.py'>}, 'HotFolder': {'v': 0.27, 'user': False, 'name': 'HotFolder', 'folder': 'addons'}, 'IRC': {'v': 0.29, 'user': False, 'name': 'IRC', 'folder': 'addons'}, 'ImageTyperz': {'v': 0.15, 'user': False, 'name': 'ImageTyperz', 'folder': 'addons'}, 'JustPremium': {'v': 0.27, 'user': False, 'name': 'JustPremium', 'folder': 'addons'}, 'LinkFilter': {'v': 0.16, 'user': False, 'name': 'LinkFilter', 'folder': 'addons'}, 'LogMarker': {'v': 0.08, 'user': False, 'name': 'LogMarker', 'folder': 'addons'}, 'MergeFiles': {'v': 0.24, 'user': False, 'name': 'MergeFiles', 'folder': 'addons'}, 'MultiHome': {'v': 0.21, 'user': False, 'name': 'MultiHome', 'folder': 'addons'}, 'PushBullet': {'v': 0.06, 'user': False, 'name': 'PushBullet', 'folder': 'addons'}, 'PushOver': {'v': 0.08, 'user': False, 'name': 'PushOver', 'folder': 'addons'}, 'RestartFailed': {'v': 1.65, 'user': False, 'name': 'RestartFailed', 'folder': 'addons'}, 'SkipRev': {'v': 0.39, 'user': False, 'name': 'SkipRev', 'folder': 'addons'}, 'TORRENT': {'v': 0.07, 'user': False, 'name': 'TORRENT', 'folder': 'addons', 'pyload': <module 'pyload.plugins.addons.TORRENT' from '/opt/lib/python3.11/site-packages/pyload/plugins/addons/TORRENT.py'>}, 'TransmissionRPC': {'v': 0.19, 'user': False, 'name': 'TransmissionRPC', 'folder': 'addons'}, 'UnSkipOnFail': {'v': 0.14, 'user': False, 'name': 'UnSkipOnFail', 'folder': 'addons', 'pyload': <module 'pyload.plugins.addons.UnSkipOnFail' from '/opt/lib/python3.11/site-packages/pyload/plugins/addons/UnSkipOnFail.py'>}, 'UpdateManager': {'v': 1.21, 'user': False, 'name': 'UpdateManager', 'folder': 'addons'}, 'UserAgentSwitcher': {'v': 0.18, 'user': False, 'name': 'UserAgentSwitcher', 'folder': 'addons', 'pyload': <module 'pyload.plugins.addons.UserAgentSwitcher' from '/opt/lib/python3.11/site-packages/pyload/plugins/addons/UserAgentSwitcher.py'>}, 'WindowsPhoneNotify': {'v': 0.19, 'user': False, 'name': 'WindowsPhoneNotify', 'folder': 'addons'}, 'XFileSharing': {'v': 0.56, 'user': False, 'name': 'XFileSharing', 'folder': 'addons', 'pyload': <module 'pyload.plugins.addons.XFileSharing' from '/opt/lib/python3.11/site-packages/pyload/plugins/addons/XFileSharing.py'>}, 'XMPP': {'v': 0.23, 'user': False, 'name': 'XMPP', 'folder': 'addons'}}
153 | 2024-04-21 13:19:34 | DEBUG | pyload | Plugin ShareLinksBiz not found
154 | 2024-04-21 13:19:34 | DEBUG | pyload | Available plugins : {'AndroidPhoneNotify': {'v': 0.17, 'user': False, 'name': 'AndroidPhoneNotify', 'folder': 'addons'}, 'AntiCaptcha': {'v': 0.02, 'user': False, 'name': 'AntiCaptcha', 'folder': 'addons'}, 'AntiStandby': {'v': 0.18, 'user': False, 'name': 'AntiStandby', 'folder': 'addons'}, 'AntiVirus': {'v': 0.22, 'user': False, 'name': 'AntiVirus', 'folder': 'addons'}, 'AppriseNotify': {'v': 0.02, 'user': False, 'name': 'AppriseNotify', 'folder': 'addons'}, 'BypassCaptcha': {'v': 0.14, 'user': False, 'name': 'BypassCaptcha', 'folder': 'addons'}, 'Captcha9Kw': {'v': 0.44, 'user': False, 'name': 'Captcha9Kw', 'folder': 'addons', 'pyload': <module 'pyload.plugins.addons.Captcha9Kw' from '/opt/lib/python3.11/site-packages/pyload/plugins/addons/Captcha9Kw.py'>}, 'Checksum': {'v': 0.36, 'user': False, 'name': 'Checksum', 'folder': 'addons'}, 'ClickNLoad': {'v': 0.62, 'user': False, 'name': 'ClickNLoad', 'folder': 'addons', 'pyload': <module 'pyload.plugins.addons.ClickNLoad' from '/opt/lib/python3.11/site-packages/pyload/plugins/addons/ClickNLoad.py'>}, 'CloudFlareDdos': {'v': 0.17, 'user': False, 'name': 'CloudFlareDdos', 'folder': 'addons'}, 'DeathByCaptcha': {'v': 0.17, 'user': False, 'name': 'DeathByCaptcha', 'folder': 'addons'}, 'DeleteFinished': {'v': 1.19, 'user': False, 'name': 'DeleteFinished', 'folder': 'addons'}, 'DiscordNotifier': {'v': 0.11, 'user': False, 'name': 'DiscordNotifier', 'folder': 'addons'}, 'DownloadScheduler': {'v': 0.3, 'user': False, 'name': 'DownloadScheduler', 'folder': 'addons'}, 'ExpertDecoders': {'v': 0.14, 'user': False, 'name': 'ExpertDecoders', 'folder': 'addons'}, 'ExternalScripts': {'v': 0.76, 'user': False, 'name': 'ExternalScripts', 'folder': 'addons', 'pyload': <module 'pyload.plugins.addons.ExternalScripts' from '/opt/lib/python3.11/site-packages/pyload/plugins/addons/ExternalScripts.py'>}, 'ExtractArchive': {'v': 1.73, 'user': False, 'name': 'ExtractArchive', 'folder': 'addons', 'pyload': <module 'pyload.plugins.addons.ExtractArchive' from '/opt/lib/python3.11/site-packages/pyload/plugins/addons/ExtractArchive.py'>}, 'HotFolder': {'v': 0.27, 'user': False, 'name': 'HotFolder', 'folder': 'addons'}, 'IRC': {'v': 0.29, 'user': False, 'name': 'IRC', 'folder': 'addons'}, 'ImageTyperz': {'v': 0.15, 'user': False, 'name': 'ImageTyperz', 'folder': 'addons'}, 'JustPremium': {'v': 0.27, 'user': False, 'name': 'JustPremium', 'folder': 'addons'}, 'LinkFilter': {'v': 0.16, 'user': False, 'name': 'LinkFilter', 'folder': 'addons'}, 'LogMarker': {'v': 0.08, 'user': False, 'name': 'LogMarker', 'folder': 'addons'}, 'MergeFiles': {'v': 0.24, 'user': False, 'name': 'MergeFiles', 'folder': 'addons'}, 'MultiHome': {'v': 0.21, 'user': False, 'name': 'MultiHome', 'folder': 'addons'}, 'PushBullet': {'v': 0.06, 'user': False, 'name': 'PushBullet', 'folder': 'addons'}, 'PushOver': {'v': 0.08, 'user': False, 'name': 'PushOver', 'folder': 'addons'}, 'RestartFailed': {'v': 1.65, 'user': False, 'name': 'RestartFailed', 'folder': 'addons'}, 'SkipRev': {'v': 0.39, 'user': False, 'name': 'SkipRev', 'folder': 'addons'}, 'TORRENT': {'v': 0.07, 'user': False, 'name': 'TORRENT', 'folder': 'addons', 'pyload': <module 'pyload.plugins.addons.TORRENT' from '/opt/lib/python3.11/site-packages/pyload/plugins/addons/TORRENT.py'>}, 'TransmissionRPC': {'v': 0.19, 'user': False, 'name': 'TransmissionRPC', 'folder': 'addons'}, 'UnSkipOnFail': {'v': 0.14, 'user': False, 'name': 'UnSkipOnFail', 'folder': 'addons', 'pyload': <module 'pyload.plugins.addons.UnSkipOnFail' from '/opt/lib/python3.11/site-packages/pyload/plugins/addons/UnSkipOnFail.py'>}, 'UpdateManager': {'v': 1.21, 'user': False, 'name': 'UpdateManager', 'folder': 'addons'}, 'UserAgentSwitcher': {'v': 0.18, 'user': False, 'name': 'UserAgentSwitcher', 'folder': 'addons', 'pyload': <module 'pyload.plugins.addons.UserAgentSwitcher' from '/opt/lib/python3.11/site-packages/pyload/plugins/addons/UserAgentSwitcher.py'>}, 'WindowsPhoneNotify': {'v': 0.19, 'user': False, 'name': 'WindowsPhoneNotify', 'folder': 'addons'}, 'XFileSharing': {'v': 0.56, 'user': False, 'name': 'XFileSharing', 'folder': 'addons', 'pyload': <module 'pyload.plugins.addons.XFileSharing' from '/opt/lib/python3.11/site-packages/pyload/plugins/addons/XFileSharing.py'>}, 'XMPP': {'v': 0.23, 'user': False, 'name': 'XMPP', 'folder': 'addons'}}
155 | 2024-04-21 13:20:19 | DEBUG | pyload | Plugin ShareLinksBiz not found
156 | 2024-04-21 13:20:19 | DEBUG | pyload | Available plugins : {'AndroidPhoneNotify': {'v': 0.17, 'user': False, 'name': 'AndroidPhoneNotify', 'folder': 'addons'}, 'AntiCaptcha': {'v': 0.02, 'user': False, 'name': 'AntiCaptcha', 'folder': 'addons'}, 'AntiStandby': {'v': 0.18, 'user': False, 'name': 'AntiStandby', 'folder': 'addons'}, 'AntiVirus': {'v': 0.22, 'user': False, 'name': 'AntiVirus', 'folder': 'addons'}, 'AppriseNotify': {'v': 0.02, 'user': False, 'name': 'AppriseNotify', 'folder': 'addons'}, 'BypassCaptcha': {'v': 0.14, 'user': False, 'name': 'BypassCaptcha', 'folder': 'addons'}, 'Captcha9Kw': {'v': 0.44, 'user': False, 'name': 'Captcha9Kw', 'folder': 'addons', 'pyload': <module 'pyload.plugins.addons.Captcha9Kw' from '/opt/lib/python3.11/site-packages/pyload/plugins/addons/Captcha9Kw.py'>}, 'Checksum': {'v': 0.36, 'user': False, 'name': 'Checksum', 'folder': 'addons'}, 'ClickNLoad': {'v': 0.62, 'user': False, 'name': 'ClickNLoad', 'folder': 'addons', 'pyload': <module 'pyload.plugins.addons.ClickNLoad' from '/opt/lib/python3.11/site-packages/pyload/plugins/addons/ClickNLoad.py'>}, 'CloudFlareDdos': {'v': 0.17, 'user': False, 'name': 'CloudFlareDdos', 'folder': 'addons'}, 'DeathByCaptcha': {'v': 0.17, 'user': False, 'name': 'DeathByCaptcha', 'folder': 'addons'}, 'DeleteFinished': {'v': 1.19, 'user': False, 'name': 'DeleteFinished', 'folder': 'addons'}, 'DiscordNotifier': {'v': 0.11, 'user': False, 'name': 'DiscordNotifier', 'folder': 'addons'}, 'DownloadScheduler': {'v': 0.3, 'user': False, 'name': 'DownloadScheduler', 'folder': 'addons'}, 'ExpertDecoders': {'v': 0.14, 'user': False, 'name': 'ExpertDecoders', 'folder': 'addons'}, 'ExternalScripts': {'v': 0.76, 'user': False, 'name': 'ExternalScripts', 'folder': 'addons', 'pyload': <module 'pyload.plugins.addons.ExternalScripts' from '/opt/lib/python3.11/site-packages/pyload/plugins/addons/ExternalScripts.py'>}, 'ExtractArchive': {'v': 1.73, 'user': False, 'name': 'ExtractArchive', 'folder': 'addons', 'pyload': <module 'pyload.plugins.addons.ExtractArchive' from '/opt/lib/python3.11/site-packages/pyload/plugins/addons/ExtractArchive.py'>}, 'HotFolder': {'v': 0.27, 'user': False, 'name': 'HotFolder', 'folder': 'addons'}, 'IRC': {'v': 0.29, 'user': False, 'name': 'IRC', 'folder': 'addons'}, 'ImageTyperz': {'v': 0.15, 'user': False, 'name': 'ImageTyperz', 'folder': 'addons'}, 'JustPremium': {'v': 0.27, 'user': False, 'name': 'JustPremium', 'folder': 'addons'}, 'LinkFilter': {'v': 0.16, 'user': False, 'name': 'LinkFilter', 'folder': 'addons'}, 'LogMarker': {'v': 0.08, 'user': False, 'name': 'LogMarker', 'folder': 'addons'}, 'MergeFiles': {'v': 0.24, 'user': False, 'name': 'MergeFiles', 'folder': 'addons'}, 'MultiHome': {'v': 0.21, 'user': False, 'name': 'MultiHome', 'folder': 'addons'}, 'PushBullet': {'v': 0.06, 'user': False, 'name': 'PushBullet', 'folder': 'addons'}, 'PushOver': {'v': 0.08, 'user': False, 'name': 'PushOver', 'folder': 'addons'}, 'RestartFailed': {'v': 1.65, 'user': False, 'name': 'RestartFailed', 'folder': 'addons'}, 'SkipRev': {'v': 0.39, 'user': False, 'name': 'SkipRev', 'folder': 'addons'}, 'TORRENT': {'v': 0.07, 'user': False, 'name': 'TORRENT', 'folder': 'addons', 'pyload': <module 'pyload.plugins.addons.TORRENT' from '/opt/lib/python3.11/site-packages/pyload/plugins/addons/TORRENT.py'>}, 'TransmissionRPC': {'v': 0.19, 'user': False, 'name': 'TransmissionRPC', 'folder': 'addons'}, 'UnSkipOnFail': {'v': 0.14, 'user': False, 'name': 'UnSkipOnFail', 'folder': 'addons', 'pyload': <module 'pyload.plugins.addons.UnSkipOnFail' from '/opt/lib/python3.11/site-packages/pyload/plugins/addons/UnSkipOnFail.py'>}, 'UpdateManager': {'v': 1.21, 'user': False, 'name': 'UpdateManager', 'folder': 'addons'}, 'UserAgentSwitcher': {'v': 0.18, 'user': False, 'name': 'UserAgentSwitcher', 'folder': 'addons', 'pyload': <module 'pyload.plugins.addons.UserAgentSwitcher' from '/opt/lib/python3.11/site-packages/pyload/plugins/addons/UserAgentSwitcher.py'>}, 'WindowsPhoneNotify': {'v': 0.19, 'user': False, 'name': 'WindowsPhoneNotify', 'folder': 'addons'}, 'XFileSharing': {'v': 0.56, 'user': False, 'name': 'XFileSharing', 'folder': 'addons', 'pyload': <module 'pyload.plugins.addons.XFileSharing' from '/opt/lib/python3.11/site-packages/pyload/plugins/addons/XFileSharing.py'>}, 'XMPP': {'v': 0.23, 'user': False, 'name': 'XMPP', 'folder': 'addons'}}
@UserX404 UserX404 added bug Something isn't working pyLoad Next labels Apr 21, 2024
@milahu
Copy link

milahu commented Jun 14, 2024

My assumption was i should be able to disable and enable plugins on the fly.

apparently this is not implemented (?)

the debug log entries are noise from plugin_manager.load_class
should be removed ...

src/pyload/core/managers/addon_manager.py

class AddonManager:

    def activate_addon(self, plugin):

        # check if already loaded
        for inst in self.plugins:
            if inst.__name__ == plugin:
                return

        plugin_class = self.pyload.plugin_manager.load_class("addon", plugin)

        if not plugin_class:
            return

plugin_manager.load_class returns None if the addon was not found

the following code only works with addons, not with other plugins

        self.pyload.log.debug(f"Plugin loaded: {plugin}")

        plugin = plugin_class(self.pyload, self)
        self.plugins.append(plugin)
        self.plugin_map[plugin_class.__name__] = plugin

        # call core Ready
        start_new_thread(plugin.core_ready, tuple())

problem: module_type is always addon

but for example, TurbobitNet has type downloader

src/pyload/plugins/downloaders/TurbobitNet.py
src/pyload/plugins/accounts/TurbobitNet.py

import traceback; traceback.print_stack()

  File "pyload/webui/app/helpers.py", line 203, in wrapper
    response = func(*args, **kwargs)
  File "pyload/webui/app/blueprints/json_blueprint.py", line 280, in save_config
    api.set_config_value(section, option, value, category)
  File "pyload/core/api/__init__.py", line 197, in set_config_value
    self.pyload.config.set_plugin(category, option, value)
  File "pyload/core/config/parser.py", line 358, in set_plugin
    self.plugin_cb(plugin, option, value)
  File "pyload/core/managers/addon_manager.py", line 302, in dispatch_event
    f(*args)
  File "pyload/core/managers/addon_manager.py", line 141, in manage_addons
    self.activate_addon(plugin)
  File "pyload/core/managers/addon_manager.py", line 152, in activate_addon
    plugin_class = self.pyload.plugin_manager.load_class("addon", plugin)
  File "pyload/core/managers/plugin_manager.py", line 453, in load_class
    module = self.load_module(module_type, module_name)

what is self.plugin_cb?

src/pyload/core/managers/addon_manager.py

class AddonManager:
    def __init__(self, core):
        # registering callback for config event
        self.pyload.config.plugin_cb = MethodType(
            self.dispatch_event, "plugin_config_changed"
        )
        self.add_event("plugin_config_changed", self.manage_addons)

patch
src/pyload/core/managers/plugin_manager.py

    def load_module(self, module_type, module_name):
        plugins = self.plugins[module_type]

        # FIXME module_type is always "addon"
        # https://github.com/pyload/pyload/issues/4452
        # workaround: guess module type
        not_plugin_types = (
            "account",
            "addon",
            "base",
        )
        plugin_types = list(filter(lambda t: t not in not_plugin_types, self.TYPES))
        plugin_types.append(module_type)
        plugin_types.reverse()
        if not module_name in plugins:
            self.pyload.log.debug(f"Plugin {module_name}: Invalid plugin type {module_type}. Guessing plugin type")
            while not module_name in plugins:
                module_type = plugin_types.pop()
                plugins = self.plugins[module_type]
            if module_name in plugins:
                self.pyload.log.debug(f"Plugin {module_name}: Guessed plugin type {module_type}")

        if module_name in plugins:
            if APPID in plugins[module_name]:
                return plugins[module_name][APPID]  #: use cached module

next error

  File "src/pyload/core/managers/addon_manager.py", line 145, in manage_addons
    self.activate_addon(plugin)
  File "src/pyload/core/managers/addon_manager.py", line 167, in activate_addon
    plugin = plugin_class(self.pyload, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: BaseHoster.__init__() takes 2 positional arguments but 3 were given

src/pyload/plugins/base/hoster.py

class BaseHoster(BasePlugin):
    def __init__(self, pyfile):

src/pyload/plugins/base/addon.py

class BaseAddon(BasePlugin):
    def __init__(self, core, manager):

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working pyLoad Next
Development

No branches or pull requests

3 participants