h3llrais3r / deluge-myscheduler

Modified deluge scheduler plugin with 'force start' support
19 stars 4 forks source link

Any plans for Deluge v2.x support? #10

Closed trymbill closed 2 months ago

trymbill commented 4 years ago

The built-in scheduler isn't cutting it. Do you have any plans on porting MyScheduler over to Deluge v2.x?

h3llrais3r commented 4 years ago

I'm currently still running Deluge 1.3.x, so I did not start it yet. Once Deluge 2.x is available on Windows (there is no installer yet) I might start porting it. :wink:

MasterCATZ commented 4 years ago

please do , tho I am thinking of rolling back as 2.x is unstable anyhow , but it does have some features that have been missing that I loved from azure

h3llrais3r commented 4 years ago

I won't start as long as there is no Windows build available, as I don't want to install all dependencies manually and I won't switch to a linux OS.

h3llrais3r commented 4 years ago

@trymbill, @MasterCATZ I need some testers for my alpha releases for Deluge 2.x. Are you available for testing and provide me feedback?

Binaries for Python 3.6 for Deluge 2.x can be found here.

trymbill commented 4 years ago

Should be able to test it out later today, sure. Do you have anything in specific you'd want me to look out for?

h3llrais3r commented 4 years ago

Nothing special, just test all functionality to see if it's working as before. :wink:

trymbill commented 4 years ago

Installed on Deluge v2.0.3 running on Ubuntu v18.04.3, UI seems to work fine on both the gtkui and webUI. Not able to test the functionality of the actual scheduler right now, but this definitely looks promising.

rezad1393 commented 4 years ago

I use thin client way to connect to lan client running deluged. but I cant seem to be able to install the plugin. it gets copied in plugin folder but it doesnt show in deluge.

h3llrais3r commented 4 years ago

Can you copy the plugin yourself to the plugin directory and see if it pops up in the list op plugins? I only tested myself for now with the gtk client only. I still need to test the daemon with the webui.

rezad1393 commented 4 years ago

if I use install from deluge it gets copied to plugin folder on the remote config folder but it doesnt show up in deluge client.

h3llrais3r commented 4 years ago

Ok, but just try it like I said... Make sure you are running deluge 2.x with Python 3.6, copy the egg to your config plugins folder and start daemon and webui. When browsing to webui, you should be able to see it showing up in the plugins list. Selecting it from the plugins list should give you the plugin configuration screen. image image

I just tested it myself on Windows and it works. If it doesn't work for you, please start daemon and webui with debug logging and post it here. You can start with debug logging by adding -L debug -l /path/to/debug.log after your startup command.

trymbill commented 4 years ago

@rezad1393, if you click on the Deluge logo in the top left corner, what version numbers do you see for client/server?

Screen Shot 2019-11-13 at 10 53 39 AM

I thought I was running v2 at one point but turned out I was running v1, and that's the only time I've had issues with plugins built for python v3 and deluge v2 not showing up in my list.

rezad1393 commented 4 years ago

@rezad1393, if you click on the Deluge logo in the top left corner, what version numbers do you see for client/server?

Screen Shot 2019-11-13 at 10 53 39 AM

I thought I was running v2 at one point but turned out I was running v1, and that's the only time I've had issues with plugins built for python v3 and deluge v2 not showing up in my list.

A peer-to-peer file sharing program utilizing the BitTorrent protocol.

Client: 2.0.3 Server: 2.0.3

libtorrent: 1.1.13.0

rezad1393 commented 4 years ago

I have python 3.7.4 on archlinux on arm7. as I said the install button actually copies the file to plugin folder, but nothing is shown in the gui. I dont have webui and I try to test the deluged without webui first and report here.

the debug file is big and have personal info (i think, like torrent downloading) which part is necessary?

rezad1393 commented 4 years ago

I have tested with another plugin to be sure(itconfig) when copying directly and then running deluge the plugin loads in setting but has no version info or author info and so on. but using install dialog and selecting itconfig egg file will copy it in plugin folder and correctly show the version of it.

but these two ways dont work for you addon, as in no addon gets added to plugin tab. as if I have done nothing.

I also search in log file for MyScheduler string but it shows nothing.

h3llrais3r commented 4 years ago

First try normal deluge (not deluged). Also try with Python 3.6 instead of 3.7 because plugin has been created for Python 3.6.

rezad1393 commented 4 years ago

I only have python which links to 3.7 (on archlinux). and it is a thin client with no monitor so normal deluge usage is not possible.

h3llrais3r commented 4 years ago

Ok, so use connect with deluge (gtkui) to a deluged (daemon) who is running on python 3.7 on archlinux?

rezad1393 commented 4 years ago

yes

h3llrais3r commented 4 years ago

Ok, I just ran deluge daemon and connect with deluge gtk ui to it. I install the plugin and it pops up in the list of plugins. I select it and the configuration page appears where you can configure it. However, I'm testing on Windows 10 with python 3.6, for which the plugin egg has been created.

rezad1393 commented 4 years ago

again, I dont have python 3.6 I have 3.7. bu this is weird that one minor version would cause this. but disregard me if you want, and maybe focus on next version. and thank you for the update for this.

h3llrais3r commented 4 years ago

@rezad1393, I know you have python 3.7, but it would be nice if you could try it with python 3.6 if possible... or try it on another pc where you can install python 3.6. I can only test on python 3.6 as this is the only build available for windows, so I cannot test with any other version.

rezad1393 commented 4 years ago

I understand and I tried to install python3.6 from aur in archlinux but it doesn't compile correctly on my arm-based device.

but as I said you don't have to test it on a python version you don't have.

If I may make a suggestion, you can use linux for development as main OS or even use a virtualbox and use that on windows to use linux.

again thank you for the extension.

SuperJC710e commented 4 years ago

It's working on my arch linux based docker container!

Had to rebuild the egg with python 3.8 and use the console to install it locally (python setup.py bdist_egg). Because the container is also running a vpn I could not connect a thin client from my host system. Using the deluge-console client in the docker console docker exec -it -w /root <docker_name> bash worked though (deluge-console -c <config_dir> -U <user> -P <pass> plugin -i /path/to/egg/MyScheduler-2.0.0-py3.8.egg). A restart of deluged was necessary for it to show up in the web UI.

# deluge -V 2>/dev/null
deluge 2.0.4.dev20
libtorrent: 1.1.13.0
Python: 3.8.0
OS: Linux Arch Linux
h3llrais3r commented 4 years ago

@SuperJC710e Thanks for the feedback.

SuperJC710e commented 4 years ago

@SuperJC710e Thanks for the feedback.

You're welcome! I probably should have tested if they actually followed the schedule.In the meantime I opted to upgrade my server rather than go with the above mentioned docker setup (for now).

So your provided plugin egg installs, but it does not seem to actually function. As in torrents do not obey the schedule, but just start downloading right away, as if there was no schedule. Here's the info about the system (Deluge installed from the PPA):

Distributor ID: Ubuntu
Description:    Ubuntu 18.04.3 LTS
Release:    18.04
Codename:   bionic

deluged 2.0.3-2-201906121747-ubuntu18.04.1
libtorrent: 1.1.5.0
Python: 3.6.9
OS: Linux 4.15.0-72-generic

Settings:

MyScheduler Settings

For example, a torrent was added at 11pm, and it immediately started downloading...

h3llrais3r commented 4 years ago

@SuperJC710e Are you sure you applied (hit Apply or OK) the schedule before adding the torrent? Please provide a debug log (ideally with only 1 torrent) with the details to see what's happening. Also the content of your myscheduler.conf and myschedulerstates.conf from the deluge config folder would be helpful.

SuperJC710e commented 4 years ago

@SuperJC710e Are you sure you applied (hit Apply or OK) the schedule before adding the torrent? Please provide a debug log (ideally with only 1 torrent) with the details to see what's happening. Also the content of your myscheduler.conf and myschedulerstates.conf from the deluge config folder would be helpful.

@h3llrais3r Well, I'm starting to feel this was a one-off situation. I cannot get it to repeat, I've tried several different methods. I think my server was in an odd state at the time. It all seems to be working as it should now. I think we can write this off as an anomaly. (I do think the 2.x series of deluge is a little buggy so far...but don't want to revert to the 1.x series and install python 2.7.x to support it...)

As for the other questions. Yes, I did hit Apply and/or OK. I did not have the logs set to the debug level when the error occurred, so I don't think I can provide anything else of insight...but like I said, I think it was a bug on my end.

Thanks again for the plugin and your efforts!

SuperJC710e commented 4 years ago

[Update] I think I figured out the issue, it was the system time. For some reason the system had been in the UTC timezone. I don't remember whether the installer asked it or not. Anyway, I had modified it on the system, but I had not restarted deluge, so apparently it was stuck with the original time. (I assumed everything would just pickup the correct time.) What clued me in was when I quickly checked on some torrents I loaded for this testing and unexpectedly they were active. Then when I looked at the log I noticed that it was time stamping them with what would equate to the original TZ setting of the system. My previous testing would have all fallen in the same time range as MyScheduler would have considered active times based on the UTC timezone, hence why they were starting right away!

I decide to reboot the system to make sure everything would pickup the new time, and voila! a new test torrent I loaded started on the expected schedule. So I think this issue could be considered closed, but perhaps a note about the system time settings affecting the schedule could be made?

h3llrais3r commented 4 years ago

@SuperJC710e Thanks for the feedback and nice to hear it was only related to time settings. No need for debug logs anymore as it's working as expected. 😉

Mr-Cake commented 4 years ago

Running deluge via docker (linuxserver) on unraid

I have torrents paused manually (finished etc) in deluge and its restarting everything.

I installed it (no thanks to deluge bug in webui.......) Enabled, disabled inbuilt scheduler. Configured hours etc, noticed that all torrents had started, paused them, played more with hours and they had restarted again.

Forced works great thank you.

Edit: I set it to go back to throttled from paused and on the hour it started all torrents instead of the ones unpaused.

I see the issue, would need to track all the torrent states instead of a blanket unpause. All good if you don't want to do that.

h3llrais3r commented 4 years ago

@Mr-Cake Sorry but I don't understand what you are saying. Please explain again and add debug logs to confirm it's not working as expected.

Mr-Cake commented 4 years ago

I have torrents sitting in the client permanently paused (hit seed ratio/don't want to download yet). I don't want them to start until I unpause them. This plugin upon resuming from paused starts every torrent in the client, the scheduler plugin just resumes from where it left off.

This is the cause https://github.com/h3llrais3r/deluge-myscheduler/issues/4 specifically https://github.com/h3llrais3r/deluge-myscheduler/blob/e2d50037145034bea53482b0efe8135efa15c286/deluge_myscheduler/core.py#L261

h3llrais3r commented 4 years ago

@Mr-Cake Thanks for clarification. I still need to investigate further, as it might bring the issue #4 back....

Can you confirm it's the same issue with the previous version of myscheduler for deluge 1.3.x? If yes, please create a separate issue, so I can do the follow up on that separately. 😉

Mr-Cake commented 4 years ago

Only started using deluge at 2.0 so couldn't say what behaviour was with 1.3.x, been waiting awhile for you to update it haha.

jee-r commented 3 years ago

Hi,

I just installed the plugin on deluge 2.0.4.dev38 python3.8 thanks to @SuperJC710e for the explanation above, but I have a problem. MyScheduler works on the webui but not in the ThinClient it is installed but no section is displayed in the settings :

Unfortunately there are no errors in the logs .

You can easily reproduce this bug if you are familiar with docker my docker image is here : https://github.com/jee-r/docker-deluge or pull it from https://hub.docker.com/repository/docker/j33r/deluge

docker pull j33r/deluge:latest

docker run -ti -d --name mydeluge -v /tmp/deluge:/config --user 1000:1000 -p 8822:8112 -p 58946:58846 j33r/deluge:latest
# or see https://github.com/jee-r/docker-deluge#docker-compose

# check if it's running
docker ps -a 
# if it's running you can acces on the webui on http://localhost:8822/ (default password : deluge)

#create a new auth for external client
echo "test:test:10" >> /tmp/deluge/auth
# or edit it manualy with your favorite text editor (vim :P)

# restart the container 
docker restart mydeluge

# Now install the plugin and add an auth for the thinclient 
# launch a shell inside the docker 
docker exec -ti --user 1000:1000 mydeluge bash

# install the plugin
cd /tmp 
git clone https://github.com/h3llrais3r/deluge-myscheduler.git myscheduler 
cd myscheduler 
python3 setup.py bdist_egg
deluge-console -c /config -U test -P test plugin -i /tmp/myscheduler/dist/MyScheduler-2.0.0-py3.8.egg

#exit and restart container
exit
docker restart mydeluge
h3llrais3r commented 3 years ago

@jee-r Strange... When I'm running here on my machine, the thin client is working fine. Although I'm not running the latest deluge version, but a prebuilt version 2.0.3 for Windows...

image

image

Can you try to run with deluge version 2.0.3 at your side as well, to see if perhaps the latest version is breaking something?

h3llrais3r commented 3 years ago

@jee-r

Did you rebuild the plugin for python 3.8? I've just installed the latest windows build with deluge 2.0.4 with python 3.8 and it works in both webui and thin client. image image

Please try with this egg and provide feedback. MyScheduler-2.0.0a1-py3.8.egg.zip

jee-r commented 3 years ago

Hi @h3llrais3r thank's for your help, i've tried the build that you provide unfortunately i've the same issue, no menu appear in the thin Client. This is really strange because the plugin work nicely in the web client.

the only diff i can see between your screenshot and mine it's the libtorrent version but i doubt that this cause any issue

Did you rebuild the plugin for python 3.8?

Yes like this python3 setup.py bdist_egg

there is my log (debug) from the thin Client when i try enable/disable the plugin :

09:27:46.721 [DEBUG   ][deluge.pluginmanagerbase          :112 ] Found plugin: Scheduler 0.3 at /usr/lib/python3.8/site-packages/deluge/plugins/Scheduler-0.3-py3.8.egg
09:27:47.105 [DEBUG   ][deluge.ui.gtk3.pluginmanager      :68  ] Core has these plugins enabled: ('Label', 'AutoAdd', 'Execute', 'SeedTime', 'Stats', 'MyScheduler')
09:27:47.171 [WARNING ][deluge.pluginmanagerbase          :132 ] Cannot enable non-existant plugin MyScheduler
09:28:29.555 [DEBUG   ][deluge.ui.gtk3.preferences        :1118] on_plugin_toggled - MyScheduler: True
09:28:29.556 [WARNING ][deluge.pluginmanagerbase          :263 ] Failed to retrive info for plugin: MyScheduler
09:28:29.635 [WARNING ][deluge.pluginmanagerbase          :224 ] Plugin "MyScheduler" is not enabled...
09:28:31.685 [DEBUG   ][deluge.pluginmanagerbase          :112 ] Found plugin: Scheduler 0.3 at /usr/lib/python3.8/site-packages/deluge/plugins/Scheduler-0.3-py3.8.egg
09:28:31.752 [WARNING ][deluge.pluginmanagerbase          :263 ] Failed to retrive info for plugin: MyScheduler
09:28:40.161 [DEBUG   ][deluge.ui.gtk3.preferences        :1118] on_plugin_toggled - MyScheduler: False
09:28:40.162 [WARNING ][deluge.pluginmanagerbase          :263 ] Failed to retrive info for plugin: MyScheduler
09:28:40.454 [WARNING ][deluge.pluginmanagerbase          :132 ] Cannot enable non-existant plugin MyScheduler
09:30:20.153 [WARNING ][deluge.pluginmanagerbase          :263 ] Failed to retrive info for plugin: MyScheduler
09:30:24.116 [DEBUG   ][deluge.ui.gtk3.preferences        :1118] on_plugin_toggled - MyScheduler: True
09:30:24.118 [WARNING ][deluge.pluginmanagerbase          :263 ] Failed to retrive info for plugin: MyScheduler
09:30:24.528 [WARNING ][deluge.pluginmanagerbase          :224 ] Plugin "MyScheduler" is not enabled...
09:31:44.328 [DEBUG   ][deluge.ui.gtk3.preferences        :1118] on_plugin_toggled - MyScheduler: False
09:31:44.664 [WARNING ][deluge.pluginmanagerbase          :132 ] Cannot enable non-existant plugin MyScheduler

I'll continue to investigate tonight after my work, thank's for your time

h3llrais3r commented 3 years ago

@jee-r How did you install the plugin? I noticed that installing it through ui doesn't work... you shoud copy the egg directly to your config plugins folder and restart.

jee-r commented 3 years ago

I have tried all ways to install it :

The plugin seems to be installed because it works in the web-ui.

h3llrais3r commented 3 years ago

Strange behaviour... But the log files you posted doesn't say a lot... Can you startup with -L debug -l /path/to/logfile.log in command line to enable debug logging?

h3llrais3r commented 2 months ago

Stale issue.