torrents_dispatcher

Dispatch your torrents between multiple torrents clients


Keywords
torrent
License
BSD-2-Clause
Install
pip install torrents_dispatcher==0.0.6

Documentation

Torrents dispatcher

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.

Installation

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.

Configuration

Create a configuration file in ~/.config/torrents_dispatcher/config.py. You can find an example of a configuration in the example directory.

Defining a group

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.

Append it to a group list

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!

Usage

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

License

Tool under the BSD license. Do not hesitate to report bugs, ask me some questions or do some pull request if you want to !