Commit Graph

63 Commits

Author SHA1 Message Date
Ross
d34ac0e0b5 handle NotImplementedError for backwards compatibility 2025-08-29 20:36:22 +02:00
Ross
4f6829ae9c handle hardlink_to UnsupportedOperation exception the same as OSError + type fixes 2025-08-29 20:32:24 +02:00
Maximilian Dorninger
89f4a76825 Fix regex for importing episodes (#128)
This pull request makes a small but significant change to the
`import_torrent_files` method in `media_manager/movies/service.py`. The
change updates the regular expression used to match subtitle file names,
making it more flexible in recognizing language codes.

*
[`media_manager/movies/service.py`](diffhunk://#diff-57cfa309860beba31573487107eba3f7ef8ef60429c48c02fb262b9f4ff9b8d3L527-R527):
Updated the regular expression in `import_torrent_files` to match
language codes in subtitle file names that are separated by either a dot
(`.`) or a space (` `), instead of only a dot.

It fixes #124.

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-01 15:21:55 +02:00
Maximilian Dorninger
35de9629ec Update media_manager/torrent/utils.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-31 22:48:15 +02:00
maxDorninger
a095e1987f add function remove_special_characters and use it in the import torrent files functions, it removes characters that break SMB or jellyfin 2025-07-31 22:42:31 +02:00
Maximilian Dorninger
4a3dea3cab Update media_manager/torrent/download_clients/qbittorrent.py
initialize answer instead of marking it with global

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-27 15:03:02 +02:00
maxDorninger
c56aebd85d extract logic for downloading torrent file and parsing the magnetlink/torrent file into separate function 2025-07-27 14:42:26 +02:00
maxDorninger
73496f9450 make the import_file function skip files which already exist 2025-07-26 12:42:39 +02:00
Maximilian Dorninger
64873d9eee Update media_manager/torrent/download_clients/qbittorrent.py
Remove duplicate 'moving' state from DOWNLOADING_STATE tuple.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-26 10:04:24 +02:00
maxDorninger
1507044809 make base_path of sabnzbd configurable 2025-07-25 20:55:38 +02:00
maxDorninger
97d0e140b7 add undocumented states to qbittorent's DOWNLOADING_STATE and FINISHED_STATE 2025-07-25 19:24:50 +02:00
maxDorninger
7c9b8d53fd fix qbittorrent not being able to initialize due to error when trying to update the Qbittorrent category 2025-07-25 19:23:56 +02:00
maxDorninger
3e5f43a5d3 make qbittorrent category save path and name customizable 2025-07-22 17:54:25 +02:00
wjbeckett
0158ac1040 fix: Add default values to config classes to resolve test validation errors
- Add default instances to all nested config classes (TorrentConfig, NotificationConfig, IndexerConfig, MetadataProviderConfig, AuthConfig)
- Add default values to AllEncompassingConfig fields to prevent validation errors during testing
- Update GitHub workflow to copy config.example.toml before running tests
- Ensures tests can run without requiring complete configuration files while maintaining production functionality

Fixes test collection errors where pydantic validation failed due to missing required config sections.
2025-07-18 16:56:19 +10:00
maxDorninger
26d0ca567f add proper error handling if no usenet/torrent download client is available when getting all torrents 2025-07-16 13:23:26 +02:00
maxDorninger
831f9dc1ac format files 2025-07-15 20:05:37 +02:00
maxDorninger
b3c762040d add support for transmission 2025-07-15 19:56:46 +02:00
maxDorninger
4b09471988 fix bug which causes Sabnzbd to put downloads into folders with wrong names 2025-07-13 15:48:17 +02:00
maxDorninger
be1dc0d03b fix qbittorrent client initialisation failing 2025-07-13 00:58:42 +02:00
maxDorninger
8f7c1035c0 remove instantiation calls from settings models 2025-07-11 00:56:04 +02:00
maxDorninger
9db9c85fc6 make all var names lower case and fix circular imports 2025-07-11 00:47:29 +02:00
maxDorninger
7ce6de7f85 replace all the other config usages with allencompassing config 2025-07-10 22:25:05 +02:00
maxDorninger
1b784c35c1 add allencompassing config, replace basic config usage with allencompassing config usage 2025-07-10 21:47:37 +02:00
maxDorninger
ce44a26aa6 fix formatting 2025-07-10 18:14:07 +02:00
maxDorninger
2b92ff1c13 fix sabnzbd 2025-07-10 18:11:28 +02:00
maxDorninger
ee9575bb2b format files 2025-07-10 01:31:48 +02:00
maxDorninger
8812b8e25c add if's for adding download clients to the torrent manager class 2025-07-10 01:07:30 +02:00
maxDorninger
40fc8d4323 add torrent manager class and update torrent service class 2025-07-10 00:31:09 +02:00
maxDorninger
28349641c0 format files 2025-07-09 23:56:34 +02:00
maxDorninger
5fd563944f extracting qbittorrent logic into separate class 2025-07-09 23:10:53 +02:00
maxDorninger
e17e6d8271 add usenet bool to various schemas/models 2025-07-06 15:17:16 +02:00
maxDorninger
82ddadf8f7 format code and change schedule on which certain tasks are executed 2025-07-01 21:20:08 +02:00
maxDorninger
e8a04a1d71 remove obsolete code 2025-07-01 21:14:52 +02:00
maxDorninger
efc3846860 format files 2025-07-01 16:03:17 +02:00
maxDorninger
3088c65b09 fix bugs which causes imported torrents to not be marked as such, add try-except to extract archive function which prevents the import from stopping if the archives are already extracted, 2025-07-01 11:52:23 +02:00
maxDorninger
b953445fc2 update detection of archives to be more accurate 2025-06-30 22:34:01 +02:00
maxDorninger
ba92399d8c fix wrong keyword being used for the argument 2025-06-30 18:47:27 +02:00
maxDorninger
c251f8d2e4 fix faulty sqlalchemy join 2025-06-30 11:07:53 +02:00
maxDorninger
44b9137b64 remove trailing slashes in some routes 2025-06-29 23:30:23 +02:00
maxDorninger
02807af6e9 format files 2025-06-24 19:32:21 +02:00
maxDorninger
61d88a25ac clean up torrent/router.py 2025-06-24 19:25:53 +02:00
maxDorninger
d0c26f3e6e fix code for importing movies 2025-06-24 17:37:58 +02:00
maxDorninger
0e108b6756 add movie module 2025-06-23 20:59:13 +02:00
maxDorninger
4936d8c861 edit db schema to add support for movies 2025-06-22 19:44:55 +02:00
maxDorninger
9360b88842 format code with ruff 2025-06-22 17:41:50 +02:00
maxDorninger
66e5c6a2f9 fall back to copying file if hardlinks do not work 2025-06-22 17:24:48 +02:00
maxDorninger
ec2493afdb add logic to convert images to avif and webp 2025-06-08 21:32:59 +02:00
maxDorninger
302890171f refactor repository module to import NotFoundError from media_manager.exceptions and fix return statement in delete operation 2025-06-08 18:42:02 +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