Commit graph

734 commits

Author SHA1 Message Date
arabcoders
793b67c135 Feat: Make it possible to enable/disable task. Ref #493 2025-11-18 19:27:19 +03:00
arabcoders
6d2deedc21 Refactor: change how clear in/completed buttons behave due to changes in how we load history now. 2025-11-16 19:17:33 +03:00
arabcoders
81a2998303 Refactor: Use tab design for index page 2025-11-15 20:26:26 +03:00
arabcoders
4a69b0b6a1 Feat: Moving files in file browser should trigger item update if exists and update sidecars as well. 2025-11-14 20:05:58 +03:00
arabcoders
1c7444e232 Feat: Renaming files in file browser should trigger item update if exists and update sidecars as well. 2025-11-14 19:26:59 +03:00
arabcoders
6d9c7d70d9 Feat: update datastore.get_items to support operations 2025-11-14 17:49:01 +03:00
arabcoders
98fbf00a63 Feat: add app manifest to allow the app to be installed 2025-11-13 23:13:01 +03:00
arabcoders
739d8e702f Feat: Paginate history items to improve performance 2025-11-13 19:28:10 +03:00
arabcoders
1107567f86 Feat: add paginated history endpoint 2025-11-13 17:15:05 +03:00
arabcoders
3da5e54774 Refactor: move nfo maker into correct namespace and move metadataPP patcher into utils 2025-11-12 21:56:29 +03:00
arabcoders
4e86729206 FEAT: add auto clear env variable 2025-11-11 22:08:32 +03:00
arabcoders
fa9f1fcefc Fix: reduce the initial connection data 2025-11-11 17:24:07 +03:00
arabcoders
e6296de3fe Fix: handle errors when fetching remote thumbnail and return appropriate status code 2025-11-10 22:45:15 +03:00
arabcoders
e1eb17ad7a [CHORE] update dependancies and remove lagecy code 2025-11-10 19:02:55 +03:00
arabcoders
3dd5357f24 [FIX] sometimes responses dont contain a _path reference 2025-11-10 16:47:35 +03:00
arabcoders
1316cbf7c1 [FIX] strip out comment lines when creating yt-dlp command 2025-11-10 16:42:34 +03:00
arabcoders
7c9233e82e [FIX] implement --max-downloads arg. Ref #479 2025-11-09 23:36:45 +03:00
arabcoders
8c8b932d6b [FIX] Chromium browser does not render subtitles after HLS attach 2025-11-08 23:11:14 +03:00
arabcoders
5a393bfd9f [FIX] MetadataParserPP. Ref #475 2025-11-08 20:42:07 +03:00
arabcoders
058bf567d1 [FEAT] add option to see the compiled yt-dlp options 2025-11-08 02:07:37 +03:00
arabcoders
c65e0f23b0 Fix qsv for low power mode. 2025-11-03 01:35:18 +03:00
arabcoders
be3d57ff95 minor fixes to video player 2025-11-02 19:50:22 +03:00
arabcoders
44fd225ab1 Add yt-dlp wrapper to keep it in sync with user installed yt-dlp. Ref #469 2025-11-01 17:22:16 +03:00
arabcoders
2b9b36eacf [FEAT] ADd new yt-dlp merger class. 2025-10-27 19:57:05 +03:00
arabcoders
444dc72e8f Add new api endpoint to generate yt-dlp commands 2025-10-27 19:55:19 +03:00
arabcoders
b5683a3e77 Migrate inline cookie creation to standalone function 2025-10-27 19:54:49 +03:00
arabcoders
24493885aa minor fixes and style update 2025-10-26 21:42:48 +03:00
arabcoders
026962d1a7 [FIX] Cancelling live streams. Closes #463 2025-10-23 19:58:12 +03:00
arabcoders
9d36ab1351 Added generic rss feed parser for tasks. 2025-10-22 18:52:57 +03:00
arabcoders
81999084e1 Fix issue with some instagram:story extractor reporting incorrect type. 2025-10-22 17:40:53 +03:00
arabcoders
5208d0ab1f fix issue sending sometimes events to apprise backends. 2025-10-22 17:39:28 +03:00
arabcoders
13b13d1f7b [FIX] Force generic handler to generate real archive_id for generic urls. 2025-10-21 23:58:01 +03:00
arabcoders
09c8984a9d fix merge conflicts 2025-10-19 19:44:12 +03:00
arabcoders
478f78ece6 [FEAT] create channel metadata and thumbnails. Closes #446 2025-10-19 17:18:27 +02:00
arabcoders
d93ddb91b4 feat: make it possible to load different UI 2025-10-19 17:18:27 +02:00
arabcoders
06698cb54e Fix possible issue with apprise notification. 2025-10-19 17:51:58 +03:00
felix
ea19772d06 Add route 2025-10-19 12:05:38 +02:00
arabcoders
e085e680cc [FEAT] create channel metadata and thumbnails. Closes #446 2025-10-15 18:55:50 +03:00
arabcoders
a374c19978 feat: make it possible to load different UI 2025-10-15 01:09:54 +03:00
arabcoders
b51bc94eb3 minor fixes 2025-10-11 20:55:56 +03:00
arabcoders
d36598a316 another attempt at fixing CI native builds 2025-10-02 18:43:55 +03:00
arabcoders
b63d3f7d5b README updates 2025-10-02 17:39:01 +03:00
arabcoders
4d16618cfb merge in the simple mode for testing 2025-09-25 00:47:43 +03:00
arabcoders
4d493433af fix nfo maker 2025-09-24 19:23:57 +03:00
arabcoders
d09761bd1c Ensure a valid channel/playlist id present when validating url in youtube task handler. 2025-09-23 22:00:26 +03:00
arabcoders
1ba6c04cf3 remove some logging from DownloadQueue 2025-09-23 19:38:31 +03:00
arabcoders
520ba86ac9 Allow internal requests. Closes #425 2025-09-23 19:13:07 +03:00
arabcoders
021c0908e1 Added new NFO Maker preset 2025-09-23 19:13:07 +03:00
arabcoders
3e4079915c when we are extracting non supported site, use compatible generic archive_id 2025-09-23 19:13:07 +03:00
arabcoders
09c0267404 Added Web UI for task definitions 2025-09-23 01:41:22 +03:00
arabcoders
7dc5e55eb8 Refactored HandleTask to support a generic extractor and made it more testable 2025-09-21 23:44:11 +03:00
arabcoders
4986aea300 fix an issue with objection mutation in timed_lru_cache cache 2025-09-16 22:41:53 +03:00
arabcoders
27893bcbf9 Add desc & sidecar to item data 2025-09-16 17:00:32 +03:00
arabcoders
314752a644 Disallow setting unsupported vcodec. 2025-09-16 16:02:38 +03:00
arabcoders
215a023da8 Cache calls to frequently called functions 2025-09-15 19:34:03 +03:00
arabcoders
d48faed4f7 Minor design update 2025-09-14 22:15:43 +03:00
arabcoders
7ad2bd6358 [FEAT] Add per extractor limits. Closes #421 2025-09-14 21:58:54 +03:00
arabcoders
a96be4c0fe Add docs to footer 2025-09-14 19:43:52 +03:00
arabcoders
1ce7c82d9c improve logic for codec selection 2025-09-14 01:30:34 +03:00
arabcoders
38e1828ec3 support using gpu codecs for player 2025-09-13 19:49:48 +03:00
arabcoders
c91f199939 extends tests 2025-09-13 18:35:41 +03:00
arabcoders
393cc6729c More tests 2025-09-12 22:43:20 +03:00
arabcoders
f490c78179 removed deprecated features and flags 2025-09-12 20:38:09 +03:00
arabcoders
669f70d9b8 fixes 2025-09-12 19:34:12 +03:00
arabcoders
5d1eed876b updated tests 2025-09-12 17:09:02 +03:00
arabcoders
63f6ca0cf4 fixed last calls to emit that were awaiting 2025-09-12 11:45:22 +03:00
arabcoders
2eba728dd2 Refactor event handlers to be asynchronous across multiple modules 2025-09-12 02:55:11 +03:00
arabcoders
12768c0c82 update perms 2025-09-11 23:27:51 +03:00
arabcoders
c3d360cbb9 added ruff as dev dependency 2025-09-11 22:32:36 +03:00
arabcoders
7a50cb34d8 fix linter issues 2025-09-11 21:49:39 +03:00
arabcoders
fae1d7c577 improved match_str by implementing extended subset. 2025-09-11 02:09:48 +03:00
arabcoders
ae1b6dd470 fixes 2025-09-08 18:07:24 +03:00
arabcoders
f417041f53 made condition.cli optional 2025-09-08 17:48:04 +03:00
arabcoders
d0a11cbcd6 make it possible to ignore item download via conditions 2025-09-08 17:25:40 +03:00
arabcoders
0d6532df5d update conditions to support extras options. 2025-09-08 17:25:40 +03:00
arabcoders
fca82b3cc9 show rss feed logs 2025-09-08 17:25:40 +03:00
arabcoders
adb72f4584 better base_path support. 2025-09-05 12:54:41 +03:00
arabcoders
de338e4492 add build sha to .version file to be able to cleanup user python packages on master/dev builds. 2025-09-04 17:03:38 +03:00
arabcoders
bdb6d0e36a FEAT: Update default presets 2025-09-03 23:49:19 +03:00
arabcoders
9d5d6595fc FEAT: new TwitchHandler 2025-09-03 22:45:33 +03:00
arabcoders
ff9e173e18 FEAT: Enhance URL handling in Item class to support YouTube video IDs 2025-09-03 21:04:28 +03:00
arabcoders
551daf6b70 removed sentry as we really don't use it for anything. 2025-09-03 21:04:12 +03:00
arabcoders
53949b177a FEAT: Enable file browser feature by default and remove related environment variable 2025-09-03 19:34:55 +03:00
arabcoders
063f62bebb Expose archiver as an API endpoint. 2025-09-03 19:01:41 +03:00
arabcoders
0abaf98b53 FEAT: Enhance DownloadQueue to handle archived items 2025-09-03 18:36:08 +03:00
arabcoders
86952200b5 FEAT: Enhance item retrieval in DataStore and DownloadQueue with flexible attribute search 2025-09-03 18:35:40 +03:00
arabcoders
691f0d5bfc FEAT: Make it possible to limit notify target to specific presets. 2025-09-02 22:36:31 +03:00
arabcoders
a528bf33ec Updated the autocomplete support to be more smarter 2025-09-02 19:41:27 +03:00
arabcoders
6cf4f6b988 Cleanup user python packages dir after each version change. 2025-09-02 18:58:32 +03:00
arabcoders
fa15576608 Refactor logging setup and enhance user site directory management in PackageInstaller and Upgrader 2025-09-02 04:59:07 +03:00
arabcoders
c9af30edda Refactor arg_converter usage to remove logging of removed options in Item and YTDLPOpts classes 2025-09-01 19:35:35 +03:00
arabcoders
28e3062bef Enhance file browser API and dialog components 2025-09-01 19:35:25 +03:00
arabcoders
cf382f0963 add short ttl on archiver read 2025-09-01 17:14:44 +03:00
arabcoders
bf1c79577f wip 2025-09-01 01:01:50 +03:00
arabcoders
1c9a893865 Reimplemented Archive feature 2025-08-30 20:45:17 +03:00
arabcoders
ed4bb1e440 finalizing removed features 2025-08-30 01:50:42 +03:00
arabcoders
db57d6de11 Refactor code for improved type hinting; add unarchive functionality to tasks API and UI. 2025-08-30 01:02:13 +03:00
arabcoders
da8358bad6 Further updates on how we handle archive status 2025-08-29 22:11:14 +03:00
arabcoders
e2b4a8caa3 moved socket event pause/resume to api/system/ 2025-08-29 19:00:26 +03:00
arabcoders
20cfc00640 migrated /api/archive to /api/history/{id}/archive 2025-08-29 18:41:13 +03:00
arabcoders
fd999211ef add deprecated notice. 2025-08-29 18:41:13 +03:00
arabcoders
deed79b8d2 major refactor of archive_file handling 2025-08-29 18:41:13 +03:00
arabcoders
29b7748b8a add is_archived to both local info and yt-dlp info 2025-08-29 18:41:13 +03:00
arabcoders
f8e3a2f6e6 update API.md 2025-08-29 18:41:13 +03:00
arabcoders
283ed74f71 handle redirection for thumbnails. 2025-08-27 19:52:35 +03:00
arabcoders
19b78c9564 correctly mark status as cancelled. 2025-08-27 19:52:15 +03:00
arabcoders
bfe4ea6354 add cancelled as accepted status 2025-08-27 17:14:49 +03:00
arabcoders
71bd40a2e8 added new endpoint to get urls archive ids 2025-08-27 16:28:19 +03:00
arabcoders
21c7b0f208 Fixes #384 2025-08-27 00:53:08 +03:00
arabcoders
d538d94216 Fix windows multiprocessing threads 2025-08-26 00:59:14 +03:00
arabcoders
703b5a6052 more fixes. 2025-08-26 00:21:24 +03:00
arabcoders
70e06f0122 remove webview in favor of using built-in browser. 2025-08-25 22:24:04 +03:00
arabcoders
3adc4eb062 Sometimes yt-dlp doesn't provide playlist_count, so we need to have fallback. Fixes #384 2025-08-25 18:48:36 +03:00
arabcoders
30830a94e8 fix info extracting expired to use epoch as it is the ended instead of timestamp. 2025-08-25 17:50:47 +03:00
arabcoders
19b9f8dc6c Added support for pausing adding items from playlist. 2025-08-25 17:34:40 +03:00
arabcoders
d9ec7733a1 consider file size when caching ffprobe results. 2025-08-23 20:21:16 +03:00
arabcoders
abf9c7a9d8 feat: add download_info_expires config to manage download info validity 2025-08-22 18:10:22 +03:00
arabcoders
3ebd66fd60 add support for --no-continue 2025-08-20 19:33:20 +03:00
arabcoders
89d4c026c5 Added built-in reference for yt-dlp options. 2025-08-19 22:24:51 +03:00
arabcoders
444e1458be minor ui updates/ 2025-08-19 19:27:45 +03:00
arabcoders
53b7474069 bump playlist_items_concurrency to 4 by default 2025-08-16 20:06:33 +03:00
arabcoders
8da9d51646 fix breaking change to playlist handling. 2025-08-15 04:44:41 +03:00
arabcoders
a05568f44c make playlist_index works 2025-08-14 11:46:58 +03:00
arabcoders
a81657b1ef Fixed bug in get info endpoint not considering preset. 2025-08-14 11:16:21 +03:00
arabcoders
764e59b0f3 use random user agent for requesting thumbnails and background 2025-08-13 19:35:42 +03:00
arabcoders
21accb012d Add ffprobe to local data when available 2025-08-09 17:40:48 +03:00
arabcoders
96149f5e2d Make it possible to pin specific yt-dlp version 2025-08-09 17:27:00 +03:00
arabcoders
00fc97c570 working version of custom fields. 2025-08-07 23:03:34 +03:00
arabcoders
355adfade4 more changes to support custom fields in download form 2025-08-07 21:01:24 +03:00
arabcoders
0ea1d80243 Added initial code to support adding custom fields to NewDownload form. 2025-08-07 18:12:24 +03:00
arabcoders
a30843510e Fixed a bug in DownloadQueue 2025-08-05 18:12:00 +03:00
arabcoders
7b0cb87c32 make it clear we are doing something with playlist items. 2025-08-05 17:56:43 +03:00
arabcoders
1589e73063 Implement a way to mark items from task as already downloaded. 2025-08-05 17:34:07 +03:00
arabcoders
2d82737a3a Add configurable download_path depth env to control auto complete depth 2025-08-02 16:32:56 +03:00
arabcoders
bac1a51a4a Do not register signals in non posix OS 2025-08-01 18:07:28 +03:00
arabcoders
92a6101bbe Add exception catch for sub download task 2025-08-01 17:37:46 +03:00
arabcoders
da6bd95733 Fix threading issue on windows exe 2025-08-01 17:03:26 +03:00
arabcoders
3918fa0b8b hard reset YTDLPOpts. 2025-07-31 23:50:57 +03:00
arabcoders
1fbe80c915 allow custom PPs 2025-07-31 23:50:33 +03:00
arabcoders
918b11fc77 do not consider auto_start False items as stale 2025-07-31 23:50:19 +03:00
arabcoders
36b590cda3 Fix automatic premiere re-queue. 2025-07-27 17:04:14 +03:00
arabcoders
7b9144b200 added cli opts support for info extraction endpoint 2025-07-27 16:07:38 +03:00
arabcoders
964a24cdd5 completed the ts migration 2025-07-26 21:14:53 +03:00
arabcoders
e44077b99f typo 2025-07-25 20:24:48 +03:00
arabcoders
584d4e107e Added toggle for task handler. 2025-07-25 20:17:51 +03:00
arabcoders
438254c594 Added task to kill debugpy, sometimes vscode leave it behind causing problems during development 2025-07-25 17:37:52 +03:00
arabcoders
c60c14d674 Fix playlist_autonumber. Closes #351 2025-07-24 23:47:12 +03:00
arabcoders
ca4e3dfd79 Fix upgrading and installing pip packages 2025-07-24 17:22:05 +03:00
arabcoders
3f338dba20 Added event for item in archive 2025-07-24 15:44:32 +03:00
arabcoders
bdbc2f5b7a migrate more code to ts 2025-07-23 19:34:08 +03:00
arabcoders
a58921dba5 Showing Premiering right now instead on not live 2025-07-21 16:07:23 +03:00
arabcoders
e07751c41f Minor messaging changes 2025-07-20 17:51:05 +03:00
arabcoders
472b8cb468 Fixes #344 2025-07-20 16:53:56 +03:00
arabcoders
94193b808f removed useless log statement. 2025-07-19 20:49:50 +03:00
arabcoders
a7e8d242c9 Completed the events system upgrade and expanded the notifications events with support for apprise. 2025-07-19 19:45:07 +03:00
arabcoders
0f7f22bdbf removed event type ERROR and migrated it's uses to LOG_ERROR 2025-07-18 21:59:43 +03:00
arabcoders
138a497703 only offload to bg worker when needed. 2025-07-18 21:14:42 +03:00
arabcoders
09c5d7794d Cleaning up the event dispatcher system. 2025-07-18 21:06:09 +03:00
arabcoders
caf60333ea minor improvements to the bg worker 2025-07-18 17:24:19 +03:00
arabcoders
395d01fe4a Remove task ID from completion notification message 2025-07-18 00:32:30 +03:00
arabcoders
112da01105 Major notification update to add initial support for apprise URLs. 2025-07-18 00:10:14 +03:00
arabcoders
47b5967c58 Add the ability to disable temp file handling 2025-07-14 23:00:41 +03:00
arabcoders
9d24fc01b4 Make it possible to cancel download and retain the temp data, ref #332 2025-07-11 18:18:45 +03:00
arabcoders
9ff9735a2f Added the ability to add item in paused state 2025-07-08 22:13:45 +03:00
arabcoders
1239643f97 minor update to store fields 2025-07-08 17:58:56 +03:00
arabcoders
37dab36fc9 support running in pywebview in windows. 2025-07-07 18:37:11 +03:00
arabcoders
860fb8181e support running in linux qt webview 2025-07-06 17:34:10 +03:00
arabcoders
ef2094f140 finalize changes for native apps. 2025-07-06 00:08:53 +03:00
arabcoders
e36552e336 wip 2025-07-05 21:03:48 +03:00
arabcoders
24de1fc6d5 more changes for native builds 2025-07-05 19:06:24 +03:00
arabcoders
eb440dff36 minor fixes for running on windows. 2025-07-05 18:32:14 +03:00
arabcoders
a448fc43ae cast file to string for mimetype 2025-07-05 18:15:37 +03:00
arabcoders
a5812a7d61 Download selected as archive when downloading multiple files. Implements #321, Update #310 2025-07-04 19:18:40 +03:00
arabcoders
b70cd473e7 error message update 2025-07-01 18:07:31 +03:00
arabcoders
31aa15efba Added file browser actions 2025-07-01 18:06:45 +03:00
arabcoders
d0ae46ba6d sometimes yt-dlp info extract doesn't return formats. 2025-06-28 21:37:33 +03:00
arabcoders
ffefc3d9af renamed presets and added optimized preset for mobile devices. 2025-06-28 20:15:29 +03:00
arabcoders
4f7da0b125 support preset in yt-dlp/url/info endpoint. 2025-06-28 19:12:29 +03:00
arabcoders
ebb7299053 Implements ytdlp filter logic to our own playlist processing. 2025-06-27 20:12:32 +03:00
arabcoders
25b7aad606 Fix running in subpath again. 2025-06-27 16:31:11 +03:00
arabcoders
da8ecd2722 Added missing playlist_ keys 2025-06-24 22:07:33 +03:00
arabcoders
ccb5b3767f Fix playlist_autonumber 2025-06-24 22:02:59 +03:00
arabcoders
9dd71302f3 implements real throttle for playlist processor. 2025-06-24 21:59:58 +03:00
arabcoders
6ba37faf49 refactor: reorganize imports and add whitespace 2025-06-24 17:59:28 +03:00
arabcoders
44b395aed9 use proper names for all create_tasks 2025-06-24 17:58:48 +03:00
arabcoders
a584ffcfd6 prevent the Download queue from back pressuring the event loop 2025-06-24 17:56:12 +03:00
arabcoders
388ed0bf9d Handle Download queue task exceptions 2025-06-24 17:38:11 +03:00
arabcoders
de304005da make it more clear when item has already been downloaded. 2025-06-24 17:26:03 +03:00
arabcoders
7e29e7b48c Handle tasks exception 2025-06-24 16:26:56 +03:00
arabcoders
a9cb816050 Fix login cookie not being set correctly. Closes #310 2025-06-24 16:08:55 +03:00
arabcoders
43aef86e7e switch from config.version to config.app_version 2025-06-23 16:26:27 +03:00
arabcoders
8dc17071ce print progress hook data if we are running in debug mode. 2025-06-23 14:00:49 +03:00
arabcoders
c367b7a5d3 strip leading/ending whitespace from task data. 2025-06-23 13:37:41 +03:00
arabcoders
fdec2356f9 Fix tasks not dispatching 2025-06-23 12:56:00 +03:00
arabcoders
3e00ebd067 fix big in tailing log 2025-06-23 12:55:49 +03:00
arabcoders
8c82d1b99c create new loop in main thread 2025-06-23 01:13:17 +03:00
arabcoders
74699680ea minor logs update 2025-06-23 01:07:50 +03:00
arabcoders
f6e3c94432 minor changes to the event bus dispatcher 2025-06-23 01:00:36 +03:00
arabcoders
b37d614e27 Migrate configStore to ts 2025-06-22 21:49:07 +03:00
arabcoders
bd695e7067 Remove the redundant usage of AsyncPool and replace it with asyncio semaphore 2025-06-22 19:24:42 +03:00