Commit Graph

54 Commits

Author SHA1 Message Date
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
natarelli22
d8a0ec66c3 Support for handling Single Episode Torrents (#331)
**Description**
As explained on #322, MediaManager currently only matches torrents that
represent full seasons or season packs.
As a result, valid episode-based releases — commonly returned by
indexers such as EZTV — are filtered out during scoring and never
considered for download.

Initial changes to the season parsing logic allow these torrents to be
discovered.
However, additional changes are required beyond season parsing to
properly support single-episode imports.

This PR is intended as a work-in-progress / RFC to discuss the required
changes and align on the correct approach before completing the
implementation.

**Things planned to do**
[X] Update Web UI to better display episode-level details
[ ] Update TV show import logic to handle single episode files, instead
of assuming full season files (to avoid integrity errors when episodes
are missing)
[ ] Create episode file tables to store episode-level data, similar to
season files
[ ] Implement fetching and downloading logic for single-episode torrents

**Notes / current limitations**
At the moment, the database and import logic assume one file per season
per quality, which works for season packs but not for episode-based
releases.

These changes are intentionally not completed yet and are part of the
discussion this PR aims to start.

**Request for feedback**
This represents a significant change in how TV content is handled in
MediaManager.
Before proceeding further, feedback from @maxdorninger on the overall
direction and next steps would be greatly appreciated.

Once aligned, the remaining tasks can be implemented incrementally.

---------

Co-authored-by: Maximilian Dorninger <97409287+maxdorninger@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-22 15:21:19 +01:00
Marcel Hellwig
96b84d45db Adding some more new lints (#393)
Enable `UP` and `TRY` lint
2026-02-01 18:04:15 +01:00
Marcel Hellwig
311e625eee two hotfixes (#392)
this prevents the app from running correctly
2026-02-01 17:42: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
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
1857cf501c ruff: enable RUF lint 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
eac58d2843 ruff: enable FAST lint
this mostly is replacing the response_model attribute with a return type
of that function since that's the more idiomatic way to do
2026-01-05 19:30:42 +01:00
maxid
40130c6a37 refactor: rename AllEncompassingConfig to MediaManagerConfig 2025-12-29 23:38:17 +01:00
maxid
35880231e0 refactor: standardize parameter usage in tv router and service 2025-12-29 22:39:39 +01:00
maxid
11ff6cd981 reorganize tv/router.py 2025-12-29 13:06:42 +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
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
xNinjaKittyx
380de78b51 feature: delete files and torrents. 2025-12-15 21:14:16 +00:00
aasmoe
1caff77412 WIP: current progress 2025-12-13 19:30:02 +00:00
maxid
53fbc703bf reduce logs in routers 2025-12-08 00:32:47 +01:00
Maximilian Dorninger
c17efaa306 Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-07 22:50:07 +01:00
maxid
d2e8d5eeb7 make movies be importable 2025-12-07 19:56:54 +01:00
maxid
dadd850524 extract functions and schemas from tv module 2025-12-07 18:30:23 +01:00
maxid
9bbd6ee6df add show_id part to route 2025-12-07 17:13:56 +01:00
maxid
64bcd85287 make add_show endpoint always return the show 2025-12-07 16:05:10 +01:00
maxid
579ceb6e87 remove response model from route which doe not return anything 2025-12-07 15:31:29 +01:00
maxid
fdaaf099cb add ability to import existing media 2025-12-07 15:29:03 +01:00
maxid
11cafa800a add route which returns the total count of all episodes 2025-12-06 21:04:58 +01:00
maxDorninger
30b710e618 improve how the download_url field is excluded from the response model 2025-10-28 22:49:10 +01:00
maxDorninger
bae3906063 add indexer field to IndexerQueryResult and update related components; display indexer name to use 2025-10-28 22:17:00 +01:00
maxDorninger
6203ec5ce0 format files 2025-09-12 20:09:44 +02:00
maxDorninger
6f8d3eea4e update type of the library parameter to string, instead of generating a list of possible values dynamically 2025-09-12 20:05:02 +02:00
maxDorninger
b6f5f8b253 format files 2025-07-17 11:37:58 +02:00
maxDorninger
b18b11c682 change string value for default/no library from empty string to "Default" 2025-07-16 14:24:42 +02:00
maxDorninger
d5c092e08d add backend code for setting/getting the libraries for movies 2025-07-16 11:00:48 +02:00
maxDorninger
49b95df59d add backend code to get/set tv library 2025-07-16 02:00:20 +02:00
maxDorninger
d0c26f3e6e fix code for importing movies 2025-06-24 17:37:58 +02:00
maxDorninger
9360b88842 format code with ruff 2025-06-22 17:41:50 +02:00
maxDorninger
529b578b0b display checkbox conditionally 2025-06-22 15:15:50 +02:00
maxDorninger
87cb9088c4 add logic to backend to automatically download new seasons 2025-06-22 14:03:41 +02:00
maxDorninger
4002ce1e29 remove nonsensical code from tv router 2025-06-10 21:32:36 +02:00
maxDorninger
821ec2797a switch tv module to new metadata provider dependencies 2025-06-10 21:13:33 +02:00
maxDorninger
e7109607e0 add update metadata route 2025-06-09 13:37:49 +02:00
maxDorninger
6b137c5529 add season route and update season pages 2025-06-09 00:27:16 +02:00
maxDorninger
ec2493afdb add logic to convert images to avif and webp 2025-06-08 21:32:59 +02:00
maxDorninger
3d9e9d00d0 add get_torrent_by_id dependency, add 404 error message and make NotFoundException globally available 2025-06-08 18:40:30 +02:00
maxDorninger
d82f9a3d9e add back feature to auto import all torrents 2025-06-08 18:26:56 +02:00
maxDorninger
41222b2452 fix season requests not working 2025-06-08 12:08:49 +02:00
maxDorninger
7347c0ab1e add proper http error codes 2025-06-07 13:42:25 +02:00
maxDorninger
231c36efe0 run linter and formatter 2025-06-07 13:29:48 +02:00