Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
155 commits
Select commit Hold shift + click to select a range
ecacaff
Bugfixed offline download clients causing issues
ManiMatter Jan 8, 2025
b69674e
Added pointers to upgrade qbit if older than 5.1.0 and dealt with sit…
ManiMatter Jan 8, 2025
2041337
Merge pull request #224 from ManiMatter/dont-fail-on-formatted-queue-…
ManiMatter Jan 8, 2025
1663703
Code Rewrite to support multi instances
ManiMatter Aug 20, 2024
8cd97fe
Updated readme
ManiMatter May 18, 2025
69bccce
Added explanation how to see
ManiMatter May 18, 2025
5b1d294
Added how to get log as text file
ManiMatter May 18, 2025
1bee35c
bugfix
ManiMatter May 18, 2025
a3a3e8e
Added recovery message when queue is empty
ManiMatter May 19, 2025
826ff10
Added more debug info
ManiMatter May 19, 2025
81c60d2
Samples were not correctly removed in remove_bad_files
ManiMatter May 21, 2025
9b39a45
Recovery message only if there were items
ManiMatter May 23, 2025
0fe587a
Remove timestamp as part of console message
ManiMatter May 23, 2025
5e385aa
Made initial load message more concise
ManiMatter May 23, 2025
4a8acdf
moved logging of settings to Verbose-level
ManiMatter May 24, 2025
9c403fc
Added health check
ManiMatter May 24, 2025
22bdc9a
Fix to health check
ManiMatter May 24, 2025
2e6973b
Added sigterm handling to exit cleanly when running in Docker.
NaruZosa May 25, 2025
1a8939e
Fix NoneType exception
scr4tchy May 26, 2025
7f41cc7
Merge pull request #255 from scr4tchy/fix_npe
ManiMatter May 26, 2025
6d0f00c
Added keep_archives option for bad_files job
ManiMatter May 26, 2025
3e66277
Fixed pytest
ManiMatter May 26, 2025
7b47a51
Merge pull request #257 from ManiMatter/keep-archives
ManiMatter May 26, 2025
c9517ba
small readme update
ManiMatter May 26, 2025
706b47a
better & redacted make_request logging
ManiMatter May 27, 2025
8088f80
Bugfix
ManiMatter May 27, 2025
e69c9a4
queue information at debug level
ManiMatter May 29, 2025
6fe5bb7
test_run
ManiMatter May 29, 2025
bd97e7f
Added improved logging, moved queue out of jobs
ManiMatter May 29, 2025
81d0f38
Fixed tracker resetting logic when queue is empty
ManiMatter May 29, 2025
4474d19
Fixed removal method checking bug
ManiMatter May 29, 2025
9f5b714
Ignored _filter_out_ignored_statuses
ManiMatter May 29, 2025
24af06a
Skipping queue items where download ClientUnavailable
ManiMatter May 29, 2025
3ae33a0
Removed test_utils
ManiMatter May 29, 2025
855f5b2
Simplified tests and fixed lidarr bug
ManiMatter May 31, 2025
43b2589
Update README.md
ManiMatter Jun 1, 2025
ebb4262
Merge branch 'pr/NaruZosa/252' into decluttarr-v2
ManiMatter Jun 2, 2025
83e2084
Small pylint code cleanup
ManiMatter Jun 2, 2025
5ec2a62
Auto-disable remove_slow if bandwithlimit exceeded
ManiMatter Jun 2, 2025
6d14d29
Changes per review of Dark3clipse
ManiMatter Jun 2, 2025
8ea822a
Added sigterm termination handling
ManiMatter Jun 3, 2025
186aece
Update README.md
ManiMatter Jun 3, 2025
e8ac70b
Added debug details on strike strikes_handler
ManiMatter Jun 4, 2025
5978688
Merge branch 'decluttarr-v2' of https://github.com/ManiMatter/declutt…
ManiMatter Jun 4, 2025
7006ebe
Performance improvement for logging
ManiMatter Jun 4, 2025
f43d4e2
added strikes hander test
ManiMatter Jun 5, 2025
6128f43
Simplified queue filtering by status & error
ManiMatter Jun 7, 2025
a41d769
Limited slow check to downloading items
ManiMatter Jun 7, 2025
ff3a54c
Fixed reset of tracker between instances
ManiMatter Jun 7, 2025
b53f0a4
Added tip for wrong/missing download_client names
ManiMatter Jun 7, 2025
afca563
Lint fix
ManiMatter Jun 7, 2025
1a9f8c5
Logging Improvements
ManiMatter Jun 7, 2025
1eacdbe
Added more logs to see queue items
ManiMatter Jun 7, 2025
299b315
log refinement
ManiMatter Jun 7, 2025
50a143b
High bandwith pauses slow tracking, not curing it
ManiMatter Jun 8, 2025
6f344ff
Showing tracking pause reason
ManiMatter Jun 8, 2025
f29214e
refined logging
ManiMatter Jun 8, 2025
34b6557
Fix GitHub security alert digest: upgrade requests
ManiMatter Jun 10, 2025
6a61af5
Added Migration guide to readme
ManiMatter Jun 14, 2025
fd90776
Support small-cap envs
ManiMatter Jun 14, 2025
82306a3
bugfix to small caps handling
ManiMatter Jun 14, 2025
26ce251
Decluttarr V2 | Dev now holding latest code base
ManiMatter Jun 14, 2025
2f4ed92
Added another message pattern for failed imports
ManiMatter Jun 14, 2025
b168fc1
Bugfix in remove_slow (un-initiated defective tracker)
ManiMatter Jun 14, 2025
e3a881f
Typo fix in examples
ManiMatter Jun 14, 2025
17e3423
Added more remove_failed_import examples
ManiMatter Jun 14, 2025
c18e56f
fixed getting started link
ManiMatter Jun 14, 2025
737ad8b
Updated readme
ManiMatter Jun 14, 2025
e5f66b2
Removed superfluous tracking message
ManiMatter Jun 15, 2025
4c1343a
Removal of oudated code
ManiMatter Jun 15, 2025
1d0431e
Removed tracker-object in settings output at start
ManiMatter Jun 15, 2025
983d062
Simplify removal handler
ManiMatter Jun 15, 2025
3b3a03d
Improve debug-level strikehandler output
ManiMatter Jun 15, 2025
ff1e489
f-string bugfix
ManiMatter Jun 15, 2025
51a8448
readme update
ManiMatter Jun 16, 2025
b60cc11
Readme update
ManiMatter Jun 16, 2025
5547001
Trigger git-build only when src changes
ManiMatter Jun 17, 2025
e7654b4
Further examples
ManiMatter Jun 17, 2025
94a2be4
refined message for qbit config
ManiMatter Jun 17, 2025
2f95e32
refactor: change json payload to query parameters in remove_queue_ite…
thanasistrisp Jun 20, 2025
ceac28d
Merge pull request #270 from thanasistrisp/dev
ManiMatter Jun 21, 2025
196df1c
More Concise verbose logs
ManiMatter Jun 28, 2025
0478b4b
Fixing no job log
ManiMatter Jun 28, 2025
e93a243
Remove bad files: Disabling for protected torrents
ManiMatter Jun 28, 2025
734181d
suppress no-longer-in-queue message after removal
ManiMatter Jun 28, 2025
c951b55
Simplify Instances-code (remove parent Instance)
ManiMatter Jun 28, 2025
5e502b9
log improvement for remove_bad_files
ManiMatter Jul 24, 2025
1820526
pyling exclusion for snippets
ManiMatter Jul 24, 2025
8b8e497
Added sabnzbd support
baretsky Jul 25, 2025
1fe6c6c
Restore original GitHub workflows from upstream
baretsky Jul 25, 2025
254f7a6
Edit sabnzbd comments in remove_slow.py
baretsky Jul 25, 2025
8146283
Simplification on connection test
ManiMatter Jul 26, 2025
85e332a
- Added SABnzbd section to README
baretsky Jul 26, 2025
da3a222
Removed temporary debug log
baretsky Jul 26, 2025
b0b67d3
Added SABnzbd tests to test_remove_slow.py
baretsky Jul 26, 2025
818b4f8
Fixed test_remove_slow.py
baretsky Jul 26, 2025
7bb4190
Updated Readme (remove_slow usenet change)
ManiMatter Jul 29, 2025
e66b39c
Merge pull request #279 from Baretsky:add-sabnzbd-support
ManiMatter Jul 29, 2025
09a3825
Bugfix: not loading certain key from env
ManiMatter Jul 26, 2025
83d695a
detect_deletions feature, testing and readme pending
ManiMatter Jul 29, 2025
109ac60
bugfix + testing, readme pending
ManiMatter Jul 29, 2025
58ac3b3
Added readme for detect_deletions
ManiMatter Jul 29, 2025
427d214
remove_slow improvement
ManiMatter Jul 29, 2025
180339b
Merge pull request #282 from ManiMatter/detect_deletions
ManiMatter Jul 29, 2025
6712022
bugfixes
ManiMatter Jul 29, 2025
bc92fc8
Update README.md
ManiMatter Jul 29, 2025
f6a70a0
Update README.md
ManiMatter Jul 30, 2025
a251705
Update README.md
ManiMatter Jul 30, 2025
b2cb1eb
bugfix obsolete tag
ManiMatter Aug 10, 2025
b433e06
feat: add remove_completed job and new download client job type
Baz00k Sep 11, 2025
42d6d61
docs: update README to include details about REMOVE_COMPLETED job
Baz00k Sep 11, 2025
407ca1b
fix: skipped for usenet test attribute error
Baz00k Sep 11, 2025
c96accc
fix: loading remove_completed job settings from env
Baz00k Sep 11, 2025
2ae946d
Remove obsolete version from compose file
dataprolet Sep 11, 2025
95f5988
Merge pull request #291 from dataprolet/dev
ManiMatter Sep 14, 2025
c474fc9
Merge branch 'dev' into dev
Baz00k Sep 14, 2025
1a4bd8f
bugfix missing search
ManiMatter Sep 21, 2025
4df383d
Merge branch 'dev' into dev
Baz00k Sep 24, 2025
5318cfd
Support environment variables in config file
BSFishy Sep 26, 2025
1076467
Update readme
BSFishy Sep 26, 2025
e583167
Merge pull request #295 from BSFishy/yaml_env
ManiMatter Sep 29, 2025
8d9a647
Formatting issues
ManiMatter Oct 1, 2025
16bcfc6
Ensuring isort uses black profile
ManiMatter Oct 1, 2025
163554a
Merge branch 'dev' of https://github.com/ManiMatter/decluttarr into dev
ManiMatter Oct 1, 2025
17805c5
Merge branch 'dev' into dev
Baz00k Oct 1, 2025
4360499
fix: use global limits as fallback
Baz00k Sep 29, 2025
20bc294
fix: log only if client has any jobs enabled
Baz00k Oct 3, 2025
f9eaa98
refactor: check the client against list of supported clients
Baz00k Oct 3, 2025
eb79c32
chore: add better examples and exmplanation in readme
Baz00k Oct 3, 2025
cc3db3d
chore: revert table of contents change
Baz00k Oct 3, 2025
8b7cbc9
fix: failing test after log update
Baz00k Oct 3, 2025
4a3dfd5
refactor: streamline item removal for download clients
Baz00k Oct 14, 2025
c0ac6dc
refactor: use DOWNLOAD_CLIENT_TYPES for download client iteration
Baz00k Oct 15, 2025
b8db7c1
fix: failing tests after client job base class update
Baz00k Oct 15, 2025
461f974
chore: update remove_completed job docs
Baz00k Oct 15, 2025
efe2e23
chore: improve tests reliablility by not checking log output
Baz00k Oct 15, 2025
75bf9a2
Hid additional internal attributes from logging
ManiMatter Oct 19, 2025
2e48890
Always putting obsolete into output, even if not used
ManiMatter Oct 19, 2025
5040465
Fixing filter of internal attributes
ManiMatter Oct 19, 2025
7bb509d
Hid additional internal attributes from logging
ManiMatter Oct 19, 2025
da22973
Always putting obsolete into output, even if not used
ManiMatter Oct 19, 2025
8f1c0bb
Fixing filter of internal attributes
ManiMatter Oct 19, 2025
1858c3d
Few refinements, and added obsolete as default target tag
ManiMatter Oct 19, 2025
78ac8d4
Renamed remove_completed -> remove_done_seeding
ManiMatter Oct 19, 2025
2fb373a
pylint fix
ManiMatter Oct 19, 2025
8dab88d
Merge branch 'dev' into dev
ManiMatter Oct 24, 2025
ff647b8
Remove redundant warning
ManiMatter Oct 25, 2025
090af35
Merge branch 'dev' into dev
ManiMatter Oct 25, 2025
b436e7d
fix missing default for max_concurrent_searches
ManiMatter Oct 25, 2025
bf7b07f
fix trailing newlines
ManiMatter Oct 25, 2025
be2b2d0
fix missing-final-newline
ManiMatter Oct 25, 2025
98ea479
Merge branch 'dev' into dev
ManiMatter Oct 26, 2025
057cbdc
Finalized readme
ManiMatter Nov 1, 2025
b39b8d2
Merge branch 'dev' of https://github.com/Baz00k/decluttarr into pr/Ba…
ManiMatter Nov 1, 2025
20a668f
[Feature] Add new job remove_done_seeding for removing finished torrents
ManiMatter Nov 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
__pycache__/
.pytest_cache/
config/config.conf
test*.py
ToDo
.vscode
snip*.py
.notebooks
logs/*
12 changes: 6 additions & 6 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@ on:
push:
branches:
- '*'
paths-ignore:
- '**/*.md'
paths:
- 'src/**'
pull_request:
branches:
- '*'
paths-ignore:
- '**/*.md'
workflow_dispatch:
- '*'
paths:
- 'src/**'
workflow_dispatch:
create:
branches:
- '*'
Expand Down
8 changes: 7 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
__pycache__/
.pytest_cache/
config/config.conf
config/config.yaml
ToDo
snip*.py
venv
testMagnets.txt
.venv
temp
.notebooks
**/old/
logs/*
.idea/*
38 changes: 31 additions & 7 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,34 @@
repos:
- repo: local
hooks:
- id: black
name: black
entry: venv/bin/black
language: system
types: [python]
- repo: local
hooks:
- id: black
name: black
entry: |
bash -c 'BIN=".venv/bin/black";
[ ! -f "$BIN" ] && BIN=".venv/Scripts/black";
$BIN .'
language: system

- id: autoflake
name: autoflake
entry: |
bash -c 'BIN=".venv/bin/autoflake";
[ ! -f "$BIN" ] && BIN=".venv/Scripts/autoflake";
$BIN --in-place --remove-all-unused-imports --remove-unused-variables --recursive --exclude .venv .'
language: system

- id: isort
name: isort
entry: |
bash -c 'BIN=".venv/bin/isort";
[ ! -f "$BIN" ] && BIN=".venv/Scripts/isort";
$BIN -rc .'
language: system

- id: pylint
name: pylint
entry: |
bash -c 'BIN=".venv/bin/pylint";
[ ! -f "$BIN" ] && BIN=".venv/Scripts/pylint";
$BIN .'
language: system
8 changes: 0 additions & 8 deletions .pytest.ini

This file was deleted.

9 changes: 9 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"recommendations": [
"ms-python.python",
"ms-python.pylint",
"ms-python.black-formatter",
"ms-python.isort",
"ms-toolsai.jupyter"
]
}
15 changes: 15 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Main from Root",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}/main.py",
"cwd": "${workspaceFolder}",
"env": {
"PYTHONPATH": "${workspaceFolder}"
}
}
]
}
8 changes: 7 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
{
"editor.formatOnSave": true,
"editor.defaultFormatter": "ms-python.black-formatter"
"editor.defaultFormatter": "ms-python.black-formatter",
"python.terminal.activateEnvironment": true,
"python.testing.pytestArgs": [
"tests"
],
"python.testing.unittestEnabled": false,
"python.testing.pytestEnabled": true
}
40 changes: 20 additions & 20 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

## Table of contents
- [Overview](#overview)
- [Feature Requests](#feature--requests)
- [Bug Reports](#bug--reports)
- [Code Contributions](#code--contributions)
- [Feature Requests](#feature-requests)
- [Bug Reports](#bug-reports)
- [Code Contributions](#code-contributions)

## Overview
Thank you for wanting to contribute to this project.
Expand All @@ -27,9 +27,9 @@ Please go follow these steps to submit a bug:
- Create meaningful logs by:
1) Switch decluttarr to debug mode (setting LOG_LEVEL: DEBUG)
2) Turn off all remove functions but one where you expect a removal (example: REMOVE_STALLED: True and the rest on False)
3) Let it run until the supposed remove should be trigged
3) Let it run until the supposed remove should be triggered
4) Paste the full logs to a pastebin
5) Share your settings (docker-compose or config.conf)
5) Share your settings (docker-compose or config.yaml)
6) Optional: If helpful, share screenshots showing the problem (from your arr-app or qbit)
7) Be responsive and provide more details if asked for them, and help testing the bug fix

Expand All @@ -40,23 +40,23 @@ Code contributions are very welcome - thanks for helping improve this app!
3) Only commit code that you have written yourself and is not owned by anybody else
4) Create a PR against the "dev" branch
5) Be responsive to code review
5) Once the code is reviewed and OK, it will be merged to dev branch, which will create the "dev"-docker image
6) Help testing that the dev image works
7= Finally, we will then commit the change to the main branch, which will create the "latest"-docker image
6) Once the code is reviewed and OK, it will be merged to dev branch, which will create the "dev"-docker image
7) Help testing that the dev image works
8) Finally, we will then commit the change to the main branch, which will create the "latest"-docker image

You do not need to know about how to create docker images to contribute here.
To get started:
1) Create a fork of decluttarr
2) Clone the git repository from the dev branch to your local machine `git clone -b dev https://github.com/yourName/decluttarr`
2) Create a virtual python environment (`python3 -m venv venv`)
3) Activate the virtual environment (`source venv/bin/activate`)
4) Install python libraries (`pip install -r docker/requirements.txt`)
5) Adjust the config/config.conf to your needs
6) Adjust the code in the files as needed
7) Run the script (`python3 main.py`)
8) Push your changes to your own git repo and use a descriptive name for the branch name (e.g. add-feature-to-xyz; bugfix-xyz)
9) Test the dev-image it creates automatically
10) Create the PR from your repo to ManiMatter/decluttarr (dev branch)
11) Make sure all checks pass
12) Squash your commits
13) Test that the docker image works that was created when you pushed to your fork
3) Create a virtual python environment (`python3 -m venv venv`)
4) Activate the virtual environment (`source venv/bin/activate`)
5) Install python libraries (`pip install -r docker/requirements.txt`)
6) Adjust the config/config.conf to your needs
7) Adjust the code in the files as needed
8) Run the script (`python3 main.py`)
9) Push your changes to your own git repo and use a descriptive name for the branch name (e.g. add-feature-to-xyz; bugfix-xyz)
10) Test the dev-image it creates automatically
11) Create the PR from your repo to ManiMatter/decluttarr (dev branch)
12) Make sure all checks pass
13) Squash your commits
14) Test that the docker image works that was created when you pushed to your fork
Loading
Loading