noam09 / deluge-telegramer

🌊 A Deluge plugin for receiving notifications, adding and viewing torrents using Telegram messenger
GNU General Public License v3.0
145 stars 25 forks source link

[BUG] Cannot add plugin to deluge #21

Closed henkyfen closed 5 years ago

henkyfen commented 5 years ago

Describe the bug I tried to add the plugin via the Web UI, it says install but then nothing happens.

To Reproduce Steps to reproduce the behavior:

  1. Go to Preferences/Plugins
  2. Click on Install
  3. Choose the egg file
  4. The web UI display the installing dialog, it disappears and nothing happens.

Screenshots Install dialog Window after install dialog disappears

OS and Version:

noam09 commented 5 years ago

Hi @henkyfen, could you please attach a debug log from the time right before installing the plugin, up until right after the (failed) installation?

Nidwan commented 5 years ago

I have the exact same problem here. I tried with a prebuilt .egg and with another built by myself. Here's the error I got :

[ERROR   ] 22:44:48 __init__:58 Appending to sys.path: '/share/CACHEDEV1_DATA/.qpkg/Entware/lib/python2.7/site-packages/Telegramer-1.2.1-alpha-py2.7.egg/telegramer/include'
[ERROR   ] 22:44:48 pluginmanagerbase:146 Unable to instantiate plugin!
[ERROR   ] 22:44:48 pluginmanagerbase:147 global name 'strftime' is not defined
Traceback (most recent call last):
  File "/opt/lib/python2.7/site-packages/deluge/pluginmanagerbase.py", line 144, in enable_plugin
    instance = cls(plugin_name.replace("-", "_"))
  File "/opt/lib/python2.7/site-packages/Telegramer-1.2.1-alpha-py2.7.egg/telegramer/__init__.py", line 64, in __init__
    from core import Core as _plugin_cls
  File "/opt/lib/python2.7/site-packages/Telegramer-1.2.1-alpha-py2.7.egg/telegramer/core.py", line 86, in <module>
    log.error(prelog() + 'Import error - %s\n%s' % (str(e), traceback.format_exc()))
  File "/opt/lib/python2.7/site-packages/Telegramer-1.2.1-alpha-py2.7.egg/telegramer/core.py", line 61, in prelog
    return strftime('%Y-%m-%d %H:%M:%S # Telegramer: ')
NameError: global name 'strftime' is not defined

OS and Version: OS: QTS 4.3.6 (Qnap) Deluge version: 1.3.15-3

Thanks a lot

noam09 commented 5 years ago

Thanks for attaching a log, @Nidwan. It seems the strftime import got removed accidentally. Please try the latest alpha release here.

Nidwan commented 5 years ago

Thanks for your help @noam09. It seems I get the same error with the latest alpha:

[ERROR ] 18:11:03 __init__:58 Appending to sys.path: '/share/CACHEDEV1_DATA/.qpkg/Entware/lib/python2.7/site-packages/Telegramer-1.2.1-alpha-py2.7.egg/telegramer/include' [ERROR ] 18:11:03 pluginmanagerbase:146 Unable to instantiate plugin! [ERROR ] 18:11:03 pluginmanagerbase:147 global name 'strftime' is not defined Traceback (most recent call last): File "/opt/lib/python2.7/site-packages/deluge/pluginmanagerbase.py", line 144, in enable_plugin instance = cls(plugin_name.replace("-", "_")) File "/opt/lib/python2.7/site-packages/Telegramer-1.2.1-alpha-py2.7.egg/telegramer/__init__.py", line 64, in __init__ from core import Core as _plugin_cls File "/opt/lib/python2.7/site-packages/Telegramer-1.2.1-alpha-py2.7.egg/telegramer/core.py", line 86, in <module> log.error(prelog() + 'Import error - %s\n%s' % (str(e), traceback.format_exc())) File "/opt/lib/python2.7/site-packages/Telegramer-1.2.1-alpha-py2.7.egg/telegramer/core.py", line 61, in prelog return strftime('%Y-%m-%d %H:%M:%S # Telegramer: ') NameError: global name 'strftime' is not defined

noam09 commented 5 years ago

Please make sure the new egg is indeed in place, according to the log, Deluge is still using 1.2.1-alpha, and not 1.2.1.2-alpha. Try restarting Deluge.

Nidwan commented 5 years ago

Sorry, I had forgotten to delete the previous egg in /share/CACHEDEV1_DATA/.qpkg/Entware/etc/deluge/plugins/.

I still get errors, but different ones :)

[ERROR   ] 18:34:59 __init__:58 Appending to sys.path: '/share/CACHEDEV1_DATA/.qpkg/Entware/etc/deluge/plugins/Telegramer-1.2.1.2-alpha-py2.7.egg/telegramer/include'
[ERROR   ] 18:34:59 core:87 2019-05-19 18:34:59 # Telegramer: Import error - No module named html
Traceback (most recent call last):
  File "/share/CACHEDEV1_DATA/.qpkg/Entware/etc/deluge/plugins/Telegramer-1.2.1.2-alpha-py2.7.egg/telegramer/core.py", line 68, in <module>
    from telegram import (ReplyKeyboardMarkup, ReplyKeyboardRemove, Bot)
  File "/share/CACHEDEV1_DATA/.qpkg/Entware/etc/deluge/plugins/Telegramer-1.2.1.2-alpha-py2.7.egg/telegramer/include/telegram/__init__.py", line 22, in <module>
  File "/share/CACHEDEV1_DATA/.qpkg/Entware/etc/deluge/plugins/Telegramer-1.2.1.2-alpha-py2.7.egg/telegramer/include/telegram/user.py", line 23, in <module>
  File "/share/CACHEDEV1_DATA/.qpkg/Entware/etc/deluge/plugins/Telegramer-1.2.1.2-alpha-py2.7.egg/telegramer/include/telegram/utils/helpers.py", line 20, in <module>
ImportError: No module named html

[ERROR   ] 18:34:59 pluginmanagerbase:146 Unable to instantiate plugin!
[ERROR   ] 18:34:59 pluginmanagerbase:147 name 'BaseFilter' is not defined
Traceback (most recent call last):
  File "/opt/lib/python2.7/site-packages/deluge/pluginmanagerbase.py", line 144, in enable_plugin
    instance = cls(plugin_name.replace("-", "_"))
  File "/share/CACHEDEV1_DATA/.qpkg/Entware/etc/deluge/plugins/Telegramer-1.2.1.2-alpha-py2.7.egg/telegramer/__init__.py", line 64, in __init__
    from core import Core as _plugin_cls
  File "/share/CACHEDEV1_DATA/.qpkg/Entware/etc/deluge/plugins/Telegramer-1.2.1.2-alpha-py2.7.egg/telegramer/core.py", line 90, in <module>
    class FilterMagnets(BaseFilter):
NameError: name 'BaseFilter' is not defined
noam09 commented 5 years ago

@Nidwan, please try the latest alpha build. It fixes several bugs, hopefully the last of them.

noam09 commented 5 years ago

@henkyfen, @Nidwan, any changes with the latest build?

Nidwan commented 5 years ago

Hi @noam09, and thanks for the updates. Unfortunately I will noté be able to access my server for some days, maybe weeks. I’lll keep you informed as soon as I can test your last build.

wolverinevn commented 5 years ago

Same issue. Can see Telegramer in Plugin list but can't enable it. Used to work properly in Deluge 2.0.0 & Telegramer 1.2

08:19:48 [ERROR ][deluge :58 ] Appending to sys.path: '/config/plugins/Telegramer-1.2.1.4-alpha-debug-py2.7.egg/telegramer/include' 08:19:48 [ERROR ][deluge.pluginmanagerbase :154 ] Unable to instantiate plugin 'Telegramer' from '/config/plugins/Telegramer-1.2.1.4-alpha-debug-py2.7.egg'! 08:19:48 [ERROR ][deluge.pluginmanagerbase :1343] No module named 'core' Traceback (most recent call last): File "/usr/lib/python3/dist-packages/deluge/pluginmanagerbase.py", line 148, in enable_plugin instance = cls(pluginname.replace('-', '')) File "/config/plugins/Telegramer-1.2.1.4-alpha-debug-py2.7.egg/telegramer/init.py", line 64, in init from core import Core as _plugin_cls ModuleNotFoundError: No module named 'core'

noam09 commented 5 years ago

Hey @wolverinevn, could you post a debug log when trying to add the plugin? https://dev.deluge-torrent.org/wiki/Troubleshooting#EnableDelugeLogging

wolverinevn commented 5 years ago

@noam09 Sorry for my late. The log:

09:51:30 [ERROR ][deluge :58 ] Appending to sys.path: '/config/plugins/Telegramer-1.2.1.4-alpha-debug-py2.7.egg/telegramer/include' 09:51:30 [ERROR ][deluge.pluginmanagerbase :154 ] Unable to instantiate plugin 'Telegramer' from '/config/plugins/Telegramer-1.2.1.4-alpha-debug-py2.7.egg'! 09:51:30 [ERROR ][deluge.pluginmanagerbase :1343] No module named 'core' Traceback (most recent call last): File "/usr/lib/python3/dist-packages/deluge/pluginmanagerbase.py", line 148, in enable_plugin instance = cls(pluginname.replace('-', '')) File "/config/plugins/Telegramer-1.2.1.4-alpha-debug-py2.7.egg/telegramer/init.py", line 64, in init from core import Core as _plugin_cls ModuleNotFoundError: No module named 'core'

noam09 commented 5 years ago

@wolverinevn I think there might still be something missing in the log, I can't really see any errors coming from Telegramer's code. Is debug logging surely enabled (does [DEBUG] appear anywhere in the log)? Or maybe the error is a few lines before the part you posted?

noam09 commented 5 years ago

@wolverinevn or @henkyfen - could you give the latest alpha a try? Tested with linuxserver/deluge:amd64-5b398f77-ls22 Docker image.

wolverinevn commented 5 years ago

@noam09. Thanks but no luck. It might be an issue of webui itself?

noam09 commented 5 years ago

It's possible, but I doubt it. Are you also using Deluge in a Docker container? docker or docker-compose? Which image? In my case, to view the debug logs, I ran docker-compose up -d, and then docker ps to get the container ID, and finally docker exec -it $IMAGE_ID bash -c 'tail -f config/deluged.log', and then I added the plugin via WebUI and viewed the log output.

noam09 commented 5 years ago

Used to work properly in Deluge 2.0.0 & Telegramer 1.2

Hold up... @wolverinevn are you using Deluge 2? Telegramer still doesn't support v2+.

noam09 commented 5 years ago

Latest alpha release fixes most issues on v1.3.15. Open a new issue if needed.