Simple utility to re-announce torrents for Deluge on a timed interval (single run or indefinitely via CRON)
Project description
Deluge Announce
A script that will announce torrents on a timed interval (CRON).
Prerequisites
- Python 3.10 or higher
- Docker (if using Docker setup)
Setup
Options for Use
Running the Docker Container
To run the Docker container with the appropriate environment variables, use the following command:
docker run -e "WEB_URL=<your_web_url>" -e "PASSWORD=<your_web_url_password>" -e "CRON_SCHEDULE=0 * * * *" -e "SKIP_RE_ANNOUNCE=too many requests" -e "FORCE_RE_ANNOUNCE=warning|error" -e "FORCE_RE_ANNOUNCE_NEW_TORRENTS_INTERVAL=60" -e "FORCE_RE_ANNOUNCE_NEW_TORRENTS_MAX_AGE=300" -e "LOG_LEVEL=Info" -v "app_data:/app_data"
SKIP_RE_ANNOUNCE and SKIP_RE_ANNOUNCE expects pipe operator | separated strings. i.e. SKIP_RE_ANNOUNCE=reason1|reason2
Optionally you can provide the below variables that will check for newly added torrents and announce them as needed
FORCE_RE_ANNOUNCE_NEW_TORRENTS_INTERVAL: If set to anything greater than 0, the program will look for new
torrents and re-announce them if less than the max age.
FORCE_RE_ANNOUNCE_NEW_TORRENTS_MAX_AGE: Max age of new torrents qualify to be force re-announced.
Optional
LOG_LEVEL defaults to Info. It can be any of Debug, Info, Warning, Error, or Critical. (Case insensitive)
This command will mount the app_data volume to persist logs across container restarts.
Running the Script as a Package
- Install the package
poetry add deluge-announce
# or
pip install deluge-announce
- Use in your Python code
from deluge_announce import Announcer
announcer = Announcer(
web_url="https://yourweburl.com/",
password="YOUR PASSWORD",
cron_schedule="0 * * * *", # runs every hour
skip_re_announce=["too many requests"], # defaults
force_re_announce=["warning", "error"] # defaults
log_level="Info", # defaults to INFO from enum LogLevel. Strings are also accepted "Debug", "Info", "Warning", "Error", or "Critical". (Case insensitive)
force_re_announce_new_torrents_interval=60, # optional, ignored if not using `run_forever`
force_re_announce_new_torrents_max_age=300, # optional, ignored if not using `run_forever`s
)
# Run the notifier once
announcer.run()
# Or run continuously as scheduled by cron
announcer.run_forever()
Checking Logs
Outside of Docker, you can view the logs in ./app_data/logs/.
Notes
- The
app_datavolume is used for persistent storage. - If you're running the script outside Docker, the
app_datafolder will be created in your local directory to store logs and the database. - The cron_schedule format follows standard cron syntax for scheduling tasks. For example,
0 * * * *runs the script every hour.
Troubleshooting
- Error Logs: If something goes wrong, check the logs at
./app_data/logs/for more details.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file deluge_announce-0.1.3.tar.gz.
File metadata
- Download URL: deluge_announce-0.1.3.tar.gz
- Upload date:
- Size: 7.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.1 CPython/3.11.9 Windows/10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7c0b0d59ff721a7db5ebaab3b5efcf22283124c40501fcd8a97bb2a1536438cb
|
|
| MD5 |
0aa5d8d5aedf2d18fc41dc2ca4f3caca
|
|
| BLAKE2b-256 |
16e2ce36ac919c6eca3d6baf0b0589e3ea47e7e214091ab8bfb32e00930c7b92
|
File details
Details for the file deluge_announce-0.1.3-py3-none-any.whl.
File metadata
- Download URL: deluge_announce-0.1.3-py3-none-any.whl
- Upload date:
- Size: 9.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.1 CPython/3.11.9 Windows/10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
11954d2262bc42130bf0de5d03b8cf99627021ee116f3482acdd5d776a6c99c9
|
|
| MD5 |
b311f36f2ea147effe8b3991a59e2f82
|
|
| BLAKE2b-256 |
1356254c91002228e740b48955106129ff945083b718c70141c97f29a1dfd89c
|