tcely
9ddc6194dd
Rename patches/models.py to patches/background_task/models.py
2025-02-07 15:44:00 -05:00
tcely
c48ec594c3
Unlock task immediately if the locked_by PID isn't running
2025-02-07 06:26:24 -05:00
tcely
104bac30ba
Patch from within the repository
2025-02-06 23:05:58 -05:00
tcely
5dfe9ea4e9
Delete patches/.keep_dir
2025-02-06 23:02:58 -05:00
tcely
794bdf9293
Add patched models.py
...
From: https://github.com/tcely/django-background-tasks/raw/refs/heads/locked-logic-fix/background_task/models.py
2025-02-06 23:02:26 -05:00
tcely
f04f3a5003
Create .keep_dir
2025-02-06 23:01:27 -05:00
tcely
8efc845228
Patch any python3 version
2025-02-05 22:57:33 -05:00
tcely
1530b6bee1
Patch the logic in locked()
2025-02-05 19:24:35 -05:00
tcely
bc58e85a89
Let Tasks expire correctly
2025-02-05 16:26:58 -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
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