If you have split all your seeding torrents into multiple torrent clients, you have to deal with multiple watch directories (one or more by client). This application allows you to define multiple groups, and then dispatch your torrents from a global blackhole to one of your watch directory.
It also allows you to search a torrent in all your download directories.
Just run:
pip3 install torrents_dispatcher
If you are running on ArchLinux, there also is an AUR package
torrents_dispatcher
.
The script is compatible with Python 3.4 and more.
Create a configuration file in ~/.config/torrents_dispatcher/config.py
. You
can find an example of a configuration in the example
directory.
First import TorrentsDispatcher:
from torrents_dispatcher import TorrentsDispatcher
Create a TorrentsDispatcher object, with these attributes:
- name: optional, used during the search to print more distinctly your groups
- sources: list of black holes to watch
- filters: dictionary each key corresponds to a filter, values are lists. For now, you can only use the filter "trackers", that check in all torrents of your sources if the announcer matches with the values you have put.
- targets: list of watch directories where moving your torrents. Multiple watch directories allows torrents_dispatcher to do a load balancing.
- download_dirs: list of directories where your completed files are. Allows you to use the Search feature, to easily find your torrents.
- limit: if a limit is set, a watch directory that has this limit number of torrents will not be used anymore during the dispatchment.
In the configuration, only the variable TORRENTS_GROUPS
is really used. It
is only a list where you have to add all the groups you constructed before.
So if you constructed 2 groups, group1
and group2
, add at the end of
your configuration file:
TORRENTS_GROUPS = [group1, group2]
Now you can use torrdispatcher to manage your watch directories!
Run the application by calling torrdispatcher
:
$ torrdispatcher -h
usage: torrdispatcher [-h] [-l LIMIT_TO] [-d] {have,list,move,search} ...
Dispatch your torrents to your different watchdirs
positional arguments:
{have,list,move,search}
have check if watch directories already have a torrent with
the same hash
list list torrent groups
move scan and dispatch the torrent files
search search in downloads
optional arguments:
-h, --help show this help message and exit
-l LIMIT_TO, --limit LIMIT_TO
limit to group names
-d, --debug set the debug level
Tool under the BSD license. Do not hesitate to report bugs, ask me some questions or do some pull request if you want to !