Commit Graph
100 Commits
Author SHA1 Message Date
tcely fcc37100c3 python -B is well-behaved
Use the `tmpfs` mount on `/cache` instead of `/tmp` to make this faster.
2025-02-28 13:44:19 -05:00
tcely 63f3df1d5c Clean up __pycache__ directories 2025-02-28 12:45:36 -05:00
tcely ddc9588cbf Set daterange for yt-dlp when indexing 2025-02-27 10:50:00 -05:00
tcely fd4f917b05 Pass days to indexer function 2025-02-27 10:14:33 -05:00
tcely e04562d8be Add the port to the Host header
Without this, port 80 may be assumed, which would be incorrect.
2025-02-27 08:59:21 -05:00
tcely beeaafe246 Use the values from nginx for CSRF Origin checks 2025-02-27 08:51:09 -05:00
tcely e2dd61af66 Pass through forwarded Host & Port 2025-02-27 08:43:14 -05:00
tcely b0ea486302 Prevent unintended unhealthy restarts
When I intentionally set a test container to be down,
I really don't want it to be restarted because it was "unhealthy" for too long
2025-02-26 07:39:23 -05:00
tcely 533c1631b7 Store Media.downloaded_filesize for imported files
Fixes #69
2025-02-25 04:13:02 -05:00
tcely fff42cec09 fixup: remove the extra blank line 2025-02-25 03:36:11 -05:00
tcely 921e053fc3 Remove unnecessary chmod executions
Setting the mode to the same value twice is only wasted effort.
2025-02-25 03:34:02 -05:00
tcely fd423fba88 Check for the cached dictionary first 2025-02-24 14:57:53 -05:00
tcely c9f4a5dc17 Use the standard sqlite3 engine from Django 5.1 2025-02-24 10:42:30 -05:00
tcely 91523edc21 Delete tubesync/tubesync/sqlite3/base.py 2025-02-24 10:40:54 -05:00
tcely 1ad90ad628 Access posix_epoch correctly
Fixes #768
2025-02-24 10:11:06 -05:00
tcely 7ebd23c070 Prevent unintended changes to the cached dictionary 2025-02-24 06:27:23 -05:00
tcely 822db9d039 Delete tubesync/tubesync/celery.py 2025-02-24 04:58:56 -05:00
tcely 2f044c3614 Remove hiredis & redis from Pipfile 2025-02-24 04:54:53 -05:00
tcely a111da9104 Delete config/root/etc/s6-overlay/s6-rc.d/celery-beat/type 2025-02-24 04:39:04 -05:00
tcely 3f93d0ae34 Delete config/root/etc/s6-overlay/s6-rc.d/celery-beat/dependencies 2025-02-24 04:38:53 -05:00
tcely b474e9e817 Delete config/root/etc/s6-overlay/s6-rc.d/celery-beat/run 2025-02-24 04:38:45 -05:00
tcely 3d1cc110ac Delete config/root/etc/s6-overlay/s6-rc.d/celery-worker/type 2025-02-24 04:37:46 -05:00
tcely 1ba97749df Delete config/root/etc/s6-overlay/s6-rc.d/celery-worker/run 2025-02-24 04:37:37 -05:00
tcely 170671d4ec Delete config/root/etc/s6-overlay/s6-rc.d/celery-worker/dependencies 2025-02-24 04:37:25 -05:00
tcely bd5dbbd295 Delete config/root/etc/s6-overlay/s6-rc.d/redis/type 2025-02-24 04:33:28 -05:00
tcely e0b98f34b7 Delete config/root/etc/s6-overlay/s6-rc.d/redis/dependencies 2025-02-24 04:33:14 -05:00
tcely 44910edbb1 Delete config/root/etc/s6-overlay/s6-rc.d/redis/run 2025-02-24 04:33:00 -05:00
tcely 0e4c5b10c9 Delete config/root/etc/redis/redis.conf 2025-02-24 04:32:26 -05:00
tcely b4c4825c2a Remove redis-server from Dockerfile 2025-02-24 04:30:59 -05:00
tcely ce68ba9a01 Drop Python 3.7 as unsupported 2025-02-24 02:51:36 -05:00
tcely 83203254ad Patched for version 1.2.8 2025-02-24 02:47:37 -05:00
tcely eeb1826b05 Upgrade to 1.2.8 for Django 5 support. 2025-02-24 02:45:41 -05:00
tcely 7c2ba576f6 Return a copy instead of modifying the input 2025-02-23 18:20:35 -05:00
tcely 3e2337d4a9 fixup: only return filtered data when appropriate 2025-02-23 17:58:15 -05:00
tcely be0cbd6cd0 Be more efficient with Media.loaded_metadata 2025-02-23 17:47:54 -05:00
tcely 0d73519946 Fix an internal server error 2025-02-22 14:45:53 -05:00
tcely c5c340b58f Optimize rename_files 2025-02-22 12:59:06 -05:00
tcely 9d328df671 We need to keep the repeating index task 2025-02-22 12:08:35 -05:00
tcely b3a21f2e27 fixup: quoting 2025-02-22 11:55:14 -05:00
tcely a9db563990 Be more consistent with fmt
This was the cause of many rename operations.
2025-02-22 11:50:48 -05:00
tcely 56bd3288b4 Match the priority of the other index tasks 2025-02-22 10:38:30 -05:00
tcely 8722a1dbe6 Match the priority of the other index tasks 2025-02-22 10:34:41 -05:00
tcely bf221394c3 Do not make the user wait when they are interacting 2025-02-22 10:27:19 -05:00
tcely 11190ada2d We still need to pin django also 2025-02-22 08:25:32 -05:00
tcely e5d124e807 Update rename_all_media_for_source
Include the recent optimizations.
2025-02-22 08:04:44 -05:00
tcely 526224f1bb Move rename_media task creation to Media post save 2025-02-22 07:29:01 -05:00
tcely b5dcf41097 Log not existing source pre save
I think this is not only possible, but happens regularly.
2025-02-22 07:05:44 -05:00
tcely 599d596368 Add scheduling delays
This is an attempt to stop duplicated tasks from running at the same time.
2025-02-22 06:53:28 -05:00
tcely 976101781d Connect the UI for Jellyfin
* Add Jellyfin media server type

* Add and use `forms_dict` and `long_types` methods

* Add `JellyfinMediaServerForm`

* Use `JellyfinMediaServer`

* Add and use `MediaServerType.handlers_dict` method

* Do not hard-code `plex`

* Also map backwards in `MediaServerType.long_types`

* Use the long server type for URLs

* Loop over media server type names

* Add `MediaServerType.long_type` property

* Add `media_server_types` to template context

* Use the `MediaServerType.members_list` class method

* Port is already part of the URL
2025-02-22 05:49:03 -05:00
tcely e25a9cd228 Merge branch 'meeb:main' into jellyfin-mediaserver 2025-02-21 22:34:33 -05:00
tcely 6a80758c9b Check for the database vendor first 2025-02-21 12:07:32 -05:00
tcely c9bc7bf84e Correct the syntax 2025-02-21 07:44:20 -05:00
tcely b11b906497 Pin django-background-tasks
It's `django-background-tasks` that limits the Django version.
2025-02-21 07:30:26 -05:00
tcely 225ff0d64e Process renaming after downloads 2025-02-21 06:54:42 -05:00
tcely e727e30ece Simplify the get_queryset function 2025-02-21 05:18:00 -05:00
tcely 29197d241a Remove duplicate function 2025-02-21 05:01:29 -05:00
tcely 986dc17013 Use multiple threads for renaming
A single thread is much too slow for hundreds, or more, rename tasks.

With at least two, one thread can be loading while another is being processed. The times when nothing is happening are reduced significantly.
2025-02-21 04:19:12 -05:00
tcely 78977bbdec Limit the try and log what happened for debugging 2025-02-20 23:24:10 -05:00
tcely 95774a0d2c Do not let one private video hold up the rest 2025-02-20 23:16:13 -05:00
tcely 4591d3867b Ask for formats that might not work and test them 2025-02-19 21:37:55 -05:00
tcely b65a0ff759 Remove the useless "not skipping" logged messages 2025-02-19 18:30:45 -05:00
tcely 5f81c3619f fixup: convert seconds with timedelta 2025-02-19 18:03:17 -05:00
tcely b01af70098 Try to refresh formats after download failed 2025-02-19 17:48:18 -05:00
tcely ad8fa72123 Try to refresh formats while checking media 2025-02-19 17:34:20 -05:00
tcely 16cd0983c9 Add refresh_formats property 2025-02-19 17:18:20 -05:00
tcely 9d3d997e9a Select a combined format if nothing else is available 2025-02-19 00:53:05 -05:00
tcely ed3136c7a8 Defer Media.metadata inside rename_media task 2025-02-18 21:12:40 -05:00
tcely 18a170a8e0 Defer fields for rename_media task creation 2025-02-18 20:59:30 -05:00
tcely 852d0cf0f2 Bump ffmpeg build 2025-02-18 19:19:41 -05:00
tcely be740dfb7f Merge branch 'meeb:main' into jellyfin-mediaserver 2025-02-18 19:12:26 -05:00
tcely d8e9fa21fd Use the default cache path for yt-dlp 2025-02-18 19:03:32 -05:00
tcely 74780220f4 Add XDG_CACHE_HOME environment variable 2025-02-18 18:56:12 -05:00
tcely 03f0680d0b Prefer fulltitle but do not require it 2025-02-17 23:32:06 -05:00
tcely 6aa392118d Remove import for tz 2025-02-17 22:38:00 -05:00
tcely a425051174 Add import for tz 2025-02-17 22:36:34 -05:00
tcely 1e35f55f7c Merge branch 'meeb:main' into jellyfin-mediaserver 2025-02-17 09:18:48 -05:00
tcely 226d886557 fixup: call the function 2025-02-17 08:35:56 -05:00
tcely 35a4d2fd39 Use a function instead of a property 2025-02-17 08:34:37 -05:00
tcely 37b15ed625 Use Media.metadata_published for indexing also 2025-02-17 08:23:49 -05:00
tcely 494250625c Add an optional argument to metadata_published 2025-02-17 08:19:19 -05:00
tcely 0a1b08b654 Use Media.metadata_published 2025-02-17 08:13:20 -05:00
tcely 695c1f6e59 Add metadata_published property 2025-02-17 08:07:46 -05:00
tcely b71236651a Load fulltitle from the metadata 2025-02-17 07:52:12 -05:00
tcely 1e5f295d28 fixup: import the check_source_directory_exists task 2025-02-17 06:08:38 -05:00
tcely 573df05867 Update .gitignore 2025-02-17 06:02:23 -05:00
tcely eb6c78a0e4 Update .dockerignore 2025-02-17 05:59:20 -05:00
tcely 76e3c78ff0 Ensure the directory exists for testing 2025-02-17 05:53:32 -05:00
tcely 1abd4f8025 Merge pull request #318 from magsimal/main
Add Jellyfin media server
2025-02-17 04:44:52 -05:00
tcely 610df60447 Unskip when redownloading 2025-02-16 22:39:40 -05:00
tcely 92e6c04b7c Do not show controls when skipped 2025-02-16 22:22:50 -05:00
tcely de02eafe54 Review of signals.py 2025-02-16 21:22:45 -05:00
tcely 0b84f70bea fixup: import the new task function 2025-02-15 22:03:44 -05:00
tcely 041e088cdf Add the rename_media task 2025-02-15 21:47:39 -05:00
tcely ba612237f2 Schedule a rename task per media item instead 2025-02-15 21:33:44 -05:00
tcely 785ba9eb05 Only return True when instance.skip was changed 2025-02-15 16:02:33 -05:00
tcely 5b28acbd33 Allow unskipping based on dates 2025-02-15 15:28:03 -05:00
tcely 366e6fd864 Replace FALLBACK_FAIL
Remove `FALLBACK_FAIL`, `FALLBACK_NEXT_BEST`, and `FALLBACK_NEXT_BEST_HD`
2025-02-14 22:23:13 -05:00
tcely 9626701486 fixup: simplify the if condition 2025-02-14 19:43:41 -05:00
tcely dc9e641a7f Do not log when skipped media is set to skip 2025-02-14 19:34:49 -05:00
tcely 9045bed509 Check both possible paths for media files 2025-02-14 19:26:12 -05:00