tcely
b16fb062aa
Avoid ImportError
2025-02-10 04:50:08 -05:00
tcely
332f34c78e
Avoid ImportError
2025-02-10 04:46:35 -05:00
tcely
55637c2caf
Add status text to the download task
2025-02-10 04:34:58 -05:00
tcely
e58fae1f96
Skip over items that are not dictionaries
2025-02-08 20:17:53 -05:00
tcely
208a540bc9
Add and use list_of_dictionaries function
2025-02-08 19:59:00 -05:00
tcely
2fd5e70486
Use version sorting
2025-02-08 17:22:54 -05:00
tcely
1d51c6182b
COPY doesn't do any globbing
...
Instead, set up and use a 'python3' symbolic link.
2025-02-08 17:04:33 -05:00
tcely
2205f08124
Remove the assert for lang_codes
...
The test data doesn't conform to this expectation.
2025-02-08 16:11:45 -05:00
tcely
8bff3b6c24
More stringent checking of types
2025-02-08 16:02:38 -05:00
tcely
cfec876796
Adjust for requested_subtitles layout
2025-02-08 14:14:56 -05:00
tcely
e2680c4b24
Split the COPY line
2025-02-08 13:45:21 -05:00
tcely
a9078c3521
Update modify_chapters.py
2025-02-08 00:14:48 -05:00
tcely
bf7b57e666
Update modify_chapters.py
2025-02-07 22:27:26 -05:00
tcely
e889c78a48
Patch yt_dlp postprocessor modify_chapters.py
2025-02-07 21:20:31 -05:00
tcely
f78f33f8fa
Add modify_chapters.py
...
From:
https://github.com/tcely/yt-dlp/raw/refs/heads/modify-chapters-codecs/yt_dlp/postprocessor/modify_chapters.py
2025-02-07 21:15:13 -05:00
tcely
88a200a338
Update and rename modify_chapters.py to modify_chapters.py
2025-02-07 21:13:22 -05:00
tcely
23e38312a7
Create modify_chapters.py
2025-02-07 21:10:48 -05:00
tcely
3039e3105c
More VP9 tweaks
2025-02-07 19:12:17 -05:00
tcely
d1eecf19c2
Use libopus and speed up VP9 encoding
2025-02-07 18:56:09 -05:00
tcely
64302e8191
Change the minimum next step to 1
2025-02-07 17:15:45 -05:00
tcely
d7d1f52ff3
Completed fragments or bytes can be zero
2025-02-07 15:59:44 -05:00
tcely
23abc545d2
Replace '100%' with the calculated percent
2025-02-07 15:34:24 -05:00
tcely
90b892fd85
Prefer fragment count calculation
...
When the first fragment is downloaded, the percent is calculated as `100`, because the bytes and total are from the fragment, which prevents additional logging.
2025-02-07 15:21:23 -05:00
tcely
7f64226369
Add more keys to filter
...
- `heatmap`: is a huge list of tiny "chapters" used to display popularity of sections of the video
- `requested_subtitles`: also has a URL that expires
2025-02-07 14:58:43 -05:00
tcely
ee9849a1aa
Calculate percent from number of fragments downloaded
2025-02-07 13:58:22 -05:00
tcely
074230b737
Switch from key to filename
...
When downloading subtitles, key isn't available.
2025-02-07 13:04:23 -05:00
tcely
034110e6fe
Log str output
2025-02-07 11:42:19 -05:00
tcely
f5c832e5ab
fixup: use repr to identify the class
2025-02-07 07:35:51 -05:00
tcely
d6ed3388e2
Removing existing (unlocked) tasks is safe to use
2025-02-07 06:19:13 -05:00
tcely
71d84e1d74
Better output
2025-02-07 06:11:09 -05:00
tcely
6177ff4c59
Move get into BaseStatus
2025-02-07 05:42:34 -05:00
tcely
afa5ec8684
fixup: it is status not self needed here
2025-02-07 04:45:11 -05:00
tcely
09812019b5
Use next_progress to avoid logging in spurts
2025-02-07 04:28:52 -05:00
tcely
3c4849551b
Define then update *_hook dictionaries
2025-02-07 03:50:48 -05:00
tcely
75df4a57e3
Move common methods to a BaseStatus class
2025-02-07 03:44:12 -05:00
tcely
08842752d4
We can't use self without an instance
2025-02-07 03:06:21 -05:00
tcely
3b14e03842
Add & use functions from status classes
2025-02-07 01:50:23 -05:00
tcely
194e84b074
Differentiate the unknown event logs
2025-02-06 22:36:56 -05:00
tcely
3ec1d2dc29
Initialization is done by the class now
2025-02-06 22:26:23 -05:00
tcely
c24178f7d6
Support multiple independent statuses
2025-02-06 22:24:43 -05:00
tcely
36a9902d26
Reset hook.download_progress before downloading
2025-02-06 20:31:32 -05:00
tcely
6d71c69878
Reset hook.download_progress so that it isn't above 100%
2025-02-06 20:02:14 -05:00
tcely
dfc63a2b94
Reworked download progress hook
...
Be more resilient about missing keys.
Log the downloading state the first time through.
2025-02-06 18:06:15 -05:00
tcely
4ec407cf6f
Bump ffmpeg
2025-02-04 13:39:46 -05:00
tcely
459cb4b891
Remove the td function
...
It is no longer being used for a default argument value.
2025-02-04 11:21:24 -05:00
tcely
0b233be517
Use a single datetime for now
2025-02-04 11:16:17 -05:00
tcely
3b58d86cd3
Remove code that didn't work
...
This method of changing `verbose_name` didn't result in any visible changes.
2025-02-04 11:05:18 -05:00
tcely
5cf7f1574a
We don't need the extra run
2025-02-03 21:22:19 -05:00
tcely
aba3b1f16d
Display the datetime without partial seconds
2025-02-03 18:32:41 -05:00
tcely
df5746dac4
Don't log the handled exception
2025-02-03 11:52:25 -05:00
tcely
a8e7299dbe
Log units and number within the try block
2025-02-03 11:44:02 -05:00
tcely
bf0dcc631a
Fixes from testing for wait_for_media_premiere
2025-02-03 11:33:56 -05:00
tcely
b50477e536
Add minutes as a unit also
2025-02-03 10:22:38 -05:00
tcely
724e632814
Remove debug logging and cache
2025-02-03 09:22:29 -05:00
tcely
4a5660be8d
Preserve the ordering
...
set made no guarantees about ordering
2025-02-03 09:16:26 -05:00
tcely
bdfd645097
Add duplicated categories to the test data
2025-02-03 09:11:35 -05:00
tcely
79783b11db
Test duplicated category is not saved
2025-02-03 08:53:34 -05:00
tcely
d1f078cf0c
Do not store duplicate categories
2025-02-03 08:12:09 -05:00
tcely
c0f52ae12e
We only need one waiting task per video
2025-02-03 00:09:59 -05:00
tcely
b05d3854a1
Use repeat_until in the call
2025-02-02 23:58:09 -05:00
tcely
bd67b9bb20
Apply the class to the category labels
2025-02-02 23:03:13 -05:00
tcely
4e12c2e7fb
Revert a06bd29f88
2025-02-02 23:01:57 -05:00
tcely
3b001d1837
Turn off the text-transform with a class
2025-02-02 22:58:49 -05:00
tcely
a028b4ea26
Let the wait task go ahead first
2025-02-02 14:09:53 -05:00
tcely
89573e93f5
Add verbose_name for better display
...
Also, some code readability changes.
2025-02-02 13:49:25 -05:00
tcely
deeb2f61a9
background has less documentation than I wanted
2025-02-02 13:00:30 -05:00
tcely
9e46b9f6d5
A first attempt at waiting for future videos
2025-02-02 12:29:36 -05:00
tcely
480d5dd891
Add wait_for_media_premiere task
2025-02-02 11:38:32 -05:00
tcely
4a3572c175
Also check for media.media_file.name
...
I thought this commit was already merged, but git claimed this line wasn't.
I don't think it matters if the `media.media_file.name` is blank here.
I made this mostly for completeness.
2025-02-02 07:31:41 -05:00
tcely
12fc5e2842
Fix the misspelled expected_categories
2025-02-02 01:16:47 -05:00
tcely
9397ec7389
Add tests for sponsorblock_categories
2025-02-02 00:07:45 -05:00
tcely
a06bd29f88
Do not uppercase the SponsorBlock categories
...
Avoid the `text-transform` on `label` by simply not using that tag.
Anyone who is better with CSS than I am, with an improved solution, is welcome to create a pull request.
2025-02-01 22:45:57 -05:00
tcely
ae1042a3d0
Rework sponsorblock_categories and CommaSepChoiceField ( #222 )
...
This is a good checkpoint.
* Loading from the database and saving back to the database both work.
* The categories are displayed in the web user interface appropriately.
* Editing the `Source` from the web user interface is working.
2025-02-01 20:57:27 -05:00
tcely
3939616d31
export TUBESYNC_RESET_DOWNLOAD_DIR
...
We don't need to overcomplicate this.
`sh` and `bash` provide easy ways to set empty variables.
2025-02-01 19:54:49 -05:00
tcely
da8aa06f27
Ensure MAX_RUN_TIME is sane
...
Try the user's value, but set it appropriately if that fails.
Background tasks will have a minimum of 10 minutes to finish.
Downloading tasks will, at a minimum, sleep up to 90 seconds between downloads.
Increasing the `MAX_RUN_TIME` will also increase the maximum amount of time to sleep between downloads.
2025-02-01 11:13:44 -05:00
tcely
fefe1fbc4d
Simply add the string we want
...
I must have been fixated on using `replace()`.
After already splitting the string, using the part we don't want seems silly.
2025-02-01 02:28:23 -05:00
tcely
07a82e6df3
Configure settings for this test
...
Otherwise, environment variables can cause the `unfiltered` and `filtered` responses to match.
This breaks the assumption that the asserts are depending upon.
2025-02-01 00:31:47 -05:00
tcely
d1a76ac0d1
Adjust download delays
...
It turns out I was being wildly optimistic with my first guess at useful delays.
2025-01-31 09:14:09 -05:00
tcely
86c1a5fcde
Remove duplicated settings and logic
2025-01-31 09:09:06 -05:00
tcely
b66073dcd2
Add formulas to settings
2025-01-31 09:05:11 -05:00
tcely
ec7c05d53f
Update local_settings.py.container
2025-01-31 08:46:49 -05:00
tcely
2c9e70f8cd
Update local_settings.py.container
2025-01-31 08:41:43 -05:00
tcely
60ee227caa
Prefer display_id and fulltitle for logs
2025-01-30 21:22:10 -05:00
tcely
2b8fea103e
Remove automatic_captions from debug log too
2025-01-30 20:57:32 -05:00
tcely
cda3a485db
Prettier logged messages
2025-01-30 20:51:22 -05:00
tcely
5dc3cc2564
Merge branch 'main' into patch-3
2025-01-30 20:21:39 -05:00
tcely
4a484d9814
Merge branch 'main' into patch-4
2025-01-30 20:15:27 -05:00
tcely
1705d48f1a
common.logger imports logging first
2025-01-30 20:04:07 -05:00
tcely
5af916d335
Add log in the block that uses it
2025-01-30 19:50:56 -05:00
tcely
89c70ec782
Fix log.debug()
...
`common.logger` imports `settings`
Creating a circular dependency causes the failure to load this file from `tubesync/settings.py`.
Without the change to `DEBUG` from this file the log level is `INFO` instead of `DEBUG` so none of those messages were showing.
2025-01-30 19:45:26 -05:00
tcely
36814ddfcd
fixup: quoting fun
2025-01-30 18:02:42 -05:00
tcely
0a39d96fc6
Add & use postprocessor_hook
2025-01-30 17:44:39 -05:00
tcely
005cd37fa7
Convert --sponsorblock-mark using yt-dlp
...
I shouldn't have tried this myself.
It's much more complicated than I originally thought.
2025-01-30 15:29:30 -05:00
tcely
1bbfed8e4d
Don't embed spaces in keys
2025-01-30 14:40:03 -05:00
tcely
470dbf426e
Parse the post processors strings already in use
2025-01-30 14:29:52 -05:00
tcely
eb37df4e5b
Merge branch 'main' into patch-5
2025-01-30 13:47:16 -05:00
tcely
8b102a3be6
Use strings for ytopts paths
...
The quick fixup works, this is simply cleaner.
2025-01-30 13:37:29 -05:00
tcely
eaaa4365f6
Better handling of user specified post processors
2025-01-30 13:08:48 -05:00
tcely
583863cb7c
Do not delete tasks that are currently running
2025-01-29 22:51:53 -05:00
tcely
3822c1a4f2
Add ytopts
...
These are all optimizations:
- `writethumbnail`: for EmbedThumbnail to use
- `check_formats`: to save requests
- `overwrites`: to keep the first version of the video
- sleep intervals to slow down our tasks only for video downloads
2025-01-29 21:13:17 -05:00