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
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
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
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
tcely
8019a94c46
Log failure to get hook status object
2025-01-29 18:45:45 -05:00
tcely
7a9ab47d9b
fixup: missed a comma
2025-01-29 14:50:39 -05:00
tcely
f59946e874
Cleanup youtube.py
2025-01-29 14:42:34 -05:00
tcely
0a8e95ce81
Create hooks.py
2025-01-29 14:13:05 -05:00
tcely
b816eb3596
fixup: use the name attribute
2025-01-29 04:05:18 -05:00
tcely
78b9aadcbf
Use a temporary directory per task
...
I am seeing multiple ffmpeg processes that mess each other up.
I do not know why this is happening yet, but for now let them operate in their own temporary directories.
2025-01-29 03:55:52 -05:00
tcely
3241f5dde6
Merge branch 'main' into issue-645-sponsorblock
2025-01-29 01:05:01 -05:00
tcely
24ac2e1aed
Field expects verbose_name to be first, not separator
2025-01-29 00:23:02 -05:00
tcely
f60c1d7b5b
Move SponsorBlock_Category to fields.py
2025-01-28 21:53:42 -05:00
tcely
2b5ad21b20
Use TextChoices for SponsorBlock_Category
2025-01-28 20:37:32 -05:00
tcely
e3501fe77a
Fix CommaSepChoiceField
...
Using the separator that was chosen is the biggest fix.
2025-01-28 19:12:56 -05:00
tcely
e59ba88e4e
Add default values for the new settings
2025-01-28 16:29:45 -05:00
tcely
d9c73d3dd7
Add new container settings
...
- TUBESYNC_RENAME_ALL_SOURCES: True or False
- TUBESYNC_RENAME_SOURCES: A comma-separated list of Source directories
2025-01-28 16:28:21 -05:00
tcely
bf7127b973
Schedule the rename task when only the settings allow it
2025-01-28 16:19:17 -05:00
tcely
0695036610
Tweak the behavior of post processors
2025-01-28 01:45:45 -05:00
tcely
803319fe9f
Let deepcopy do more work for us
2025-01-28 01:00:35 -05:00
tcely
b40626f9dc
Guess at ffmpeg options based on filename
2025-01-27 20:24:23 -05:00
tcely
d34e1a204e
Set a default nice level
...
Now that SponsorBlock is running, these jobs are using significant CPU resources.
Setting a nice level to let other things run better while `ffmpeg` is running seems wise.
2025-01-27 16:12:52 -05:00
tcely
133f08bd86
Hide format_note for combined audio / video
2025-01-27 15:17:39 -05:00
tcely
bb226d4bc1
Made the output more friendly
...
- Humanize the Hz number
- Do not output '@Nonek' for combined audio / video
2025-01-27 15:08:24 -05:00
tcely
d2641c39cd
Add asr to parsed formats
2025-01-27 14:34:10 -05:00
tcely
ec16e4c54d
Use the parsed formats
2025-01-27 14:31:16 -05:00
tcely
eb27bf1583
Only save() the current Media
2025-01-27 13:17:16 -05:00
tcely
d160a043e5
Use yt_dlp.get_postprocessors()
2025-01-27 12:45:32 -05:00
tcely
8a3a7aa333
Display language_code for audio formats
2025-01-27 03:50:42 -05:00
tcely
9fc773b5c0
Add language_code from response
2025-01-27 03:43:56 -05:00
tcely
09ecbf210e
Default to valid JSON
...
This prevents useless logged errors when there is no metadata available yet.
2025-01-27 02:57:47 -05:00
tcely
a44e856378
Merge branch 'main' into rename-files-with-source-format-issue-185
2025-01-26 10:17:12 -05:00
tcely
bcbafaf842
Remove directory manipulation
...
Added a comment about why these directories aren't matching.
2025-01-26 07:54:14 -05:00
tcely
7b1aedf7ae
Put os.path.basename() back
...
Without this the subdirectory from `media_format` is doubled.
2025-01-26 07:11:30 -05:00
tcely
fe4f6dd6b8
DRY {JSON,nfo,thumb}name functions
2025-01-25 22:26:39 -05:00
tcely
31e25eb22b
Remove unnecessary spaces
2025-01-25 20:21:59 -05:00
tcely
7169ba5865
Remove unnecessary spaces
2025-01-25 20:14:46 -05:00
tcely
32fad91401
Remove unnecessary spaces
2025-01-25 20:12:55 -05:00
tcely
de1490c416
Remove unnecessary spaces
2025-01-25 20:11:19 -05:00
tcely
b319101c70
Remove unnecessary spaces
2025-01-25 20:08:10 -05:00
tcely
69e895818e
Drop the thumbnail task if media downloaded first
2025-01-25 19:46:58 -05:00
tcely
fe39717985
Change media download priority
2025-01-25 19:23:52 -05:00
tcely
3b20f07450
Try to download thumbnail before copy
2025-01-25 19:12:36 -05:00
tcely
56e1aae5cd
Simplify get_queryset
2025-01-25 09:46:03 -05:00
tcely
41c1b74c75
Split the string ourselves
...
I don't know what I thought replace did, but the third argument is a count, not a start.
2025-01-25 05:41:34 -05:00
tcely
0c5836d466
Remove unused stringfilter
2025-01-25 05:22:57 -05:00
tcely
aa493208e2
Restrict replacement to the end of the string
2025-01-25 05:20:14 -05:00
tcely
42bf4d2aac
Remove fixB filter
2025-01-24 12:22:03 -05:00
tcely
f109400263
Use bytesformat instead
2025-01-24 12:19:07 -05:00
tcely
840893c962
Use bytesformat instead
2025-01-24 12:15:19 -05:00
tcely
09649a3a58
Use fixB for other filesizeformat uses
2025-01-24 11:51:52 -05:00
tcely
f9c1cc28d8
Use fixB filter
2025-01-24 11:44:22 -05:00
tcely
22cec87636
Add fixB filter
2025-01-24 11:37:51 -05:00
tcely
4e710f503a
Create filters.py
2025-01-24 11:15:00 -05:00
tcely
1bd2e38196
Create templatetags/__init__.py
2025-01-24 10:06:24 -05:00
tcely
e16f6bb86a
Display database_filesize only if set
2025-01-24 09:26:04 -05:00
tcely
b65ecc43ff
Pass raw bytes count as database_filesize
2025-01-24 09:20:12 -05:00
tcely
ee303c638b
Display database_filesize
2025-01-24 09:14:53 -05:00
tcely
d4a5a78831
Display format_note after audio-only formats
2025-01-24 08:26:19 -05:00
tcely
3d148fc5aa
Return format_note also
2025-01-24 08:22:46 -05:00
tcely
ed381715b5
Fail to previous behavior
2025-01-22 21:09:03 -05:00
tcely
fb87b54300
channel_id is the only available key
2025-01-22 20:59:21 -05:00
tcely
25892388a1
Remove the /channel/ from the URL
2025-01-22 20:42:18 -05:00
tcely
5546c5dad2
Use the channel type to fetch channel_id
2025-01-22 20:21:23 -05:00
tcely
e5b4e9dbc0
Add get_channel_id
2025-01-22 20:07:59 -05:00
tcely
ba321945b6
Automated channel_id extraction
2025-01-22 19:41:03 -05:00
tcely
1671c6e706
DRY YouTube domain list
...
I am tired of links copied from YouTube not working without adjustments.
2025-01-22 04:55:57 -05:00