Maximilian Dorninger
f5253990e0
switch from APScheduler to Taskiq ( #461 )
...
This PR replaces the APScheduler lib with the Taskiq task queuing lib.
# why
APScheduler doesn't support FastAPI's DI in tasks, this makes them quite
cumbersome to read and write since DB, Repositories and Services all
need to be instanciated manually.
Moreover, Taskiq makes it easier to start background tasks from FastAPI
requests. This enables MM to move to a more event-based architecture.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* App now uses an orchestrated async startup/shutdown and runs
background scheduling via a database-backed task queue; startup enqueues
pre-load/import/update tasks.
* **Bug Fixes**
* Improved torrent client handling with clearer conflict messages and
guidance for manual resolution.
* Enhanced logging around season, episode and metadata update
operations; minor regex/behaviour formatting preserved.
* **Chores**
* Updated dependencies to support the new task queue and connection
pooling.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-26 21:23:24 +01:00
Maximilian Dorninger
a643c9426d
remove everything related to requests ( #455 )
...
This PR removes the requests feature. The functionality will be replaced
either by Seerr or by reimplementing it in a better way.
2026-02-22 19:46:47 +01:00
Marcel Hellwig
96b84d45db
Adding some more new lints ( #393 )
...
Enable `UP` and `TRY` lint
2026-02-01 18:04:15 +01:00
Maximilian Dorninger
a39e0d204a
Ruff enable type annotations rule ( #362 )
...
This PR enables the ruff rule for return type annotations (ANN), and
adds the ty package for type checking.
2026-01-06 17:07:19 +01:00
Marcel Hellwig
75406cbc64
ruff: add RET lint
...
lints about assign and immediatly returning a variable
2026-01-05 19:30:42 +01:00
Marcel Hellwig
acd883df21
ruff: enable PIE lint
...
this just removes needless pass or ...
2026-01-05 19:30:42 +01:00
Marcel Hellwig
f2141ca8b8
ruff: enable PERF lint
...
this complains a lot about using manual append where a list
comprehension would be more suitable
2026-01-05 19:30:42 +01:00
Marcel Hellwig
29476e2008
ruff: enable INT and N lint
...
this renames some files to use snake_case and add Error suffix to custom
exceptions
2026-01-05 19:30:42 +01:00
Marcel Hellwig
6e46b482cb
ruff: enable A lint
2026-01-05 19:30:42 +01:00
Marcel Hellwig
1857cf501c
ruff: enable RUF lint
2026-01-05 19:30:42 +01:00
Marcel Hellwig
a7bb5e1e04
Make proper use of function overloading
...
In preparation of the RUFF lint, I rewrote the function to use
typing.overload.
This is the proper way to accept either two arguments or one argument
2026-01-05 19:30:42 +01:00
Marcel Hellwig
ff013ac76e
ruff: enable I lint
2026-01-05 19:30:42 +01:00
Marcel Hellwig
97cb3b5c1e
ruff: enable EM lint
2026-01-05 19:30:42 +01:00
Maximilian Dorninger
fc691f95bb
fix bugs in MovieService
...
fix some small bugs in MovieService that were caused by the refactor
2026-01-04 23:37:33 +01:00
maxid
dd1e5d6621
refactor: update metadata methods to include optional language parameter
2026-01-01 14:21:51 +01:00
maxid
dc7cc98a1a
refactor: enhance error handling in check_if_movie_exists method
2026-01-01 14:01:44 +01:00
maxid
e14f19bd45
format files
2025-12-30 00:19:28 +01:00
maxid
7c488e4fae
refactor: improve logging and correct directory deletion in service.py
2025-12-30 00:17:45 +01:00
maxid
95c22fa854
Merge branch 'master' into refactor-code
...
# Conflicts:
# media_manager/movies/service.py
# media_manager/tv/service.py
2025-12-30 00:14:24 +01:00
maxid
40130c6a37
refactor: rename AllEncompassingConfig to MediaManagerConfig
2025-12-29 23:38:17 +01:00
maxid
8de3a71bfd
refactor: standardize parameter usage in movie router and service
2025-12-29 22:45:50 +01:00
Maximilian Dorninger
d3e12579ac
Merge pull request #324 from briandipalma/extra-spaces
...
fix: only add one space between release year and release ID and fix formatting of dev guide docs
2025-12-29 22:14:14 +01:00
Brian Di Palma
57c94dbd57
feat(importing): Only add one space between release year and release ID
2025-12-29 20:05:51 +00:00
maxid
4cc4ff3629
refactor: improve logging for deleted torrents in service.py
2025-12-29 11:54:56 +01:00
maxid
12ce02473d
fix: set success variable when importing movie
2025-12-29 00:35:54 +01:00
maxid
7ea1984d6c
refactor indexer search: streamline result evaluation by using raw torrent list
2025-12-28 23:41:06 +01:00
maxid
91ed5e34dc
refactor indexer service: streamline movie and season search methods
2025-12-28 11:20:51 +01:00
maxid
9c6676f1f3
feat: add imdb_id parameter to update movie and show methods
2025-12-23 20:29:51 +01:00
maxid
3b920135c2
format files
2025-12-23 19:54:27 +01:00
aasmoe
3574a0a08e
Merge branch 'master' into feat/multi-language-metadata
2025-12-21 14:43:17 +01:00
maxid
1293cc692c
fix: rename source directory before importing existing movies and TV shows
2025-12-20 21:16:52 +01:00
maxid
cfe34358a0
refactor title processing to remove special characters and brackets
2025-12-20 20:00:27 +01:00
maxid
1f50b18b9f
refactor media detection functions to improve accuracy
2025-12-20 19:37:34 +01:00
maxid
eb7a15d32d
Merge branch 'refs/heads/master' into fork/aasmoe/feat/multi-language-metadata
...
# Conflicts:
# metadata_relay/app/tmdb.py
# web/src/lib/api/api.d.ts
2025-12-20 14:53:41 +01:00
maxid
c78bc05627
format files
2025-12-20 13:08:32 +01:00
Maximilian Dorninger
a40077a5b1
remove unnecessary check of movie.library
2025-12-18 22:06:16 +01:00
aasmoe
1afa13a954
Merge branch 'master' into feat/multi-language-metadata
2025-12-18 12:00:54 +01:00
xNinjaKittyx
28915a5484
fix: use the right functions and also make sure the 2 checkboxes are on movies too.
2025-12-16 02:41:04 +00:00
xNinjaKittyx
380de78b51
feature: delete files and torrents.
2025-12-15 21:14:16 +00:00
xNinjaKittyx
db044d9351
fix: change id to movieID/ShowID type.
2025-12-15 17:54:31 +00:00
xNinjaKittyx
a098b172ca
Address various different fixes regarding search UI experience.
2025-12-14 00:10:38 +00:00
aasmoe
fda59e49b2
Pass language as a value in show and movie objects. DB migration to add original_langauge column. Removes workarounds
2025-12-13 19:30:02 +00:00
aasmoe
8695d26ad9
Removed language parameter in favour of adding original_language to movie and show object. A couple of temporary workaround while there is no original_language column in db.
2025-12-13 19:30:02 +00:00
aasmoe
1caff77412
WIP: current progress
2025-12-13 19:30:02 +00:00
maxid
643d2448b1
reduce logs
2025-12-08 00:30:59 +01:00
Maximilian Dorninger
1d1e678890
Update media_manager/movies/service.py
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-12-07 22:45:11 +01:00
maxid
20100441d2
bug fix: make movie importing create necessary directories
2025-12-07 22:24:33 +01:00
maxid
3128c68ecb
return error on failed movie import
2025-12-07 21:09:15 +01:00
maxid
417de8b289
save movie_files after successfully importing movies
2025-12-07 21:04:06 +01:00
maxid
d2e8d5eeb7
make movies be importable
2025-12-07 19:56:54 +01:00