41 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
Maximilian Dorninger
b16f2dce92 migrate season files to episode files and drop legacy table (#454)
This pull request introduces a migration script to transition from
storing file information at the season level to the episode level in the
database.
2026-02-22 16:25:12 +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
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
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
ff013ac76e ruff: enable I lint 2026-01-05 19:30:42 +01:00
Marcel Hellwig
42502c93fc ruff: enable ISC lint 2026-01-05 19:30:42 +01:00
Marcel Hellwig
2c36adfd75 ruff: Enable B lint 2026-01-05 19:30:42 +01:00
maxid
40130c6a37 refactor: rename AllEncompassingConfig to MediaManagerConfig 2025-12-29 23:38:17 +01:00
maxid
3b920135c2 format files 2025-12-23 19:54:27 +01:00
maxid
0c30ede537 feat: add imdb_id fields to movies and shows 2025-12-23 19:54:17 +01: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
Maximilian Dorninger
3fb85c766f Fix alembic mirgration which was broken by the IDE's refactor feature
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-29 16:18:12 +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
b6f5f8b253 format files 2025-07-17 11:37:58 +02:00
maxDorninger
83a09ebb94 add score field to db table and add alembic migration for the field 2025-07-16 23:27:54 +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
d60f8bd89b add alembic migration for new columns 2025-07-16 01:19:26 +02:00
maxDorninger
d9c6f2d068 remove unused import 2025-07-13 00:38:21 +02:00
maxDorninger
9a0b1f88bd remove print statement which leaks credentials 2025-07-13 00:37:26 +02:00
maxDorninger
f8745ab2ce fix alembic usenet migration 2025-07-13 00:28:58 +02:00
maxDorninger
b5580b4fcc fix alembic not using new config 2025-07-13 00:01:16 +02:00
maxDorninger
ce44a26aa6 fix formatting 2025-07-10 18:14:07 +02:00
Maximilian Dorninger
8e5e069263 Merge branch 'master' into add-usenet-support 2025-07-10 01:44:12 +02:00
maxDorninger
d67e2019a8 add alembic migration for new usenet specific columns 2025-07-09 20:58:33 +02:00
maxDorninger
b6a5385864 format files 2025-07-09 20:54:50 +02:00
Maximilian Dorninger
09eb86a97a Merge branch 'master' into chore/improve-dev-experience 2025-07-06 16:45:35 +02:00
maxDorninger
e17e6d8271 add usenet bool to various schemas/models 2025-07-06 15:17:16 +02:00
maxDorninger
6336aa1c82 fix initial migration 2025-07-06 11:26:40 +02:00
maxDorninger
7fce31772f increase max refresh token length to 4096 2025-07-06 10:57:25 +02:00
maxDorninger
5364c73377 increase max access token length to 4096 2025-07-06 10:52:58 +02:00
Joe Thomas
361288e6bd had a crack at fixing the initial migration 2025-07-04 12:31:07 +02:00
maxDorninger
9360b88842 format code with ruff 2025-06-22 17:41:50 +02:00
maxDorninger
87cb9088c4 add logic to backend to automatically download new seasons 2025-06-22 14:03:41 +02:00
maxDorninger
f2a6b9c822 add alembic migration to add 'ended' column to show table 2025-06-10 21:31:53 +02:00
maxDorninger
231c36efe0 run linter and formatter 2025-06-07 13:29:48 +02:00
maxDorninger
1fab5d8056 run linter and formatter 2025-06-07 13:23:00 +02:00
maxDorninger
69d6fa7c15 add automatic alembic migrations to docker images 2025-06-01 22:45:16 +02:00
maxDorninger
c7b925f363 refactor: reformat code 2025-05-29 15:37:43 +02:00
maxDorninger
206df8b150 refactor: change folder structure 2025-05-29 15:36:35 +02:00