Commit Graph
97 Commits
Author SHA1 Message Date
tcely 6e116899a7 We don't need to keep bash running 2025-01-07 23:45:25 -05:00
tcely 215aa64f2d Change to a logged warning for NFO permission problems 2025-01-06 10:35:37 -05:00
tcely e64f71a970 Don't chmod a+r when it already has those permissions 2025-01-06 10:23:17 -05:00
tcely 59865a885b Match another variation of the message
```
{key}: This video is available to this channel's members on level: Level 2: Contributor (or any higher level). Join this YouTube channel from your computer or Android app.
```
2025-01-02 02:39:19 -05:00
tcely d74e6bf2ca Avoid the unlikely possibility of None comparison 2024-12-25 20:16:07 -05:00
tcely 942452c6a2 Skip media without any formats 2024-12-25 10:53:25 -05:00
tcely 568698351d Use the N version of ffmpeg 2024-12-25 05:23:53 -05:00
tcely 3cea9270a0 Bump ffmpeg 2024-12-25 05:09:30 -05:00
tcely 8def84c7b4 Use filename_path
It's more directly what we want here.

If `filepath` ever changed to not use `filename` the value would be incorrect, so this is the cleaner way to display this value.
2024-12-25 01:17:04 -05:00
tcely 7343e39f35 Verbose output is no longer needed
I confirmed that the changes reduced the amount of files being removed.
2024-12-25 00:32:03 -05:00
tcely 0795eb951d Consistency fixes
The `filepath` variable is defined before the `if` and used throughout the first block, so we should use it in the `else` block too.

Otherwise, a change to that variable would change the first block but not the second block.
2024-12-25 00:21:58 -05:00
tcely 6c4d31765a Made messages more human friendly 2024-12-25 00:16:18 -05:00
tcely 01f0d82788 Cleanup removed media that has not been downloaded too 2024-12-25 00:07:57 -05:00
tcely 99899aac9c Use title from DB
We stored a stripped title string in the database, just use that instead of `.name` and calling `.strip()` again.
2024-12-23 20:13:56 -05:00
tcely 3b41c8df81 Remove duplicated ' to:' 2024-12-23 16:55:26 -05:00
tcely 2799d95119 Only log new media
Channels with thousands of videos, that won't be downloaded, create large blocks in the logs without this.
2024-12-23 10:17:58 -05:00
tcely b19614cc9f Do not log download progress lines by default
When you set debugging, the default progress output can be viewed and/or logged, depending on the other options.
2024-12-23 01:28:46 -05:00
tcely 67b4995448 Remove manual_skip check 2024-12-22 16:16:06 -05:00
tcely d1c6236b9d Display the location the media was actually saved to 2024-12-22 11:54:56 -05:00
tcely 8a04139da9 Add data items to make comparison easier 2024-12-22 11:46:29 -05:00
tcely 495f62f25a Display only the name part
`media.filename` is a `str`
`media.filepath` is a `Path`

The second has a simple way to remove directories, so use that instead of any custom string manipulation.
2024-12-22 11:14:32 -05:00
tcely 20527aa3c2 Update tests to not expect strings 2024-12-22 10:26:41 -05:00
tcely 8ebb333ea3 directory_path should be a Path, not str 2024-12-22 10:09:16 -05:00
tcely 4bbdfd2f24 Fix paths for when filename includes sub-directories 2024-12-22 09:44:27 -05:00
tcely a1248be4ae Update ci.yaml
Python `3.13` is not expected to work until Django `5.1` and we are currently using `3.2`, so that's not worth testing.

More info: https://code.djangoproject.com/ticket/34900
2024-12-22 05:33:08 -05:00
tcely 256f3254d9 Quote Python versions in ci.yaml 2024-12-22 05:21:28 -05:00
tcely 7c77ed1d78 Update ci.yaml
We can keep testing with Python `3.7` by using `ubuntu-22.04` instead of `ubuntu-latest` according to the `setup-python` issue.

More info: https://github.com/actions/setup-python/issues/962
2024-12-22 04:48:53 -05:00
tcely 6cce0520cb Update ci.yaml
* Use the current major version tag for actions.
* Add current python versions.
* Remove Python 3.7 as it isn't being setup.
* Don't fail fast, so that one old version won't prevent testing other versions.
2024-12-22 04:28:43 -05:00
tcely 42a1033e7e Rename old_youtube_cache_dirs
It makes sense to do this here because anyone who had the previous setting was, more than likely, using this file.
2024-12-22 02:42:30 -05:00
tcely 2f89c333a4 yt_dlp controls this directory
It's probably safe, and `yt_dlp` plays nicely when cleaning up, but this is more correct.
2024-12-22 01:52:15 -05:00
tcely b9eb28fd36 There is a /config/cache directory we can safely use 2024-12-22 01:45:16 -05:00
tcely 2c26936035 fixup: remove the --no-cache-dir option 2024-12-21 20:23:47 -05:00
tcely a2c97d2791 pipenv did not run with that option 2024-12-21 20:22:08 -05:00
tcely f4c070ada7 Reduce image size and keep pycache in a volume
Not only are volumes typically faster to access than the image overlay, the cachee can be reused between containers.
2024-12-21 20:08:36 -05:00
tcely abfa8ca042 Do not log when the skip state remains unchanged 2024-12-21 17:01:13 -05:00
tcely f88df0d4e6 Manually skipped items do not need additional filtering 2024-12-21 16:46:17 -05:00
tcely 6c757185db Do not try to skip already skipped media
Logically these functions can only mark media instances as skipped, so running them for media instances that are already marked that way is a waste of resources.
2024-12-21 16:19:26 -05:00
tcely cf951a820a response is a dict just now
I don't know what I was thinking.
Add some type checking while I am at it.
2024-12-21 07:53:23 -05:00
tcely 54f2663f82 json.loads() expects a string 2024-12-21 06:50:24 -05:00
tcely 16e86ba79a Accept limited metadata for subscriber_only videos 2024-12-21 05:55:48 -05:00
tcely 60a0600cde Use Path in file_is_editable 2024-12-21 01:07:57 -05:00
tcely 394f937fcb Handle raise_no_formats exception
Catching this and checking the message may be the best way to skip members only videos.
2024-12-20 10:07:24 -05:00
tcely 81bfe68034 Switch to color option
Avoids a warning:
`Overwriting params from "color" with "no_color"`
2024-12-20 08:23:35 -05:00
tcely 477753b88d Remove forcejson option
As far as I can tell, this option only caused a lot of JSON output to be logged.
2024-12-20 08:18:40 -05:00
tcely e204dea3e2 Use tempfile for write_text_file
This is more atomic and allows for checking `filepath`
before replacing the original file.
2024-12-19 20:32:52 -05:00
tcely d85fb92b2e Remove unused timedelta import 2024-12-17 15:29:34 -05:00
tcely de4a15efed Remove audio / video directory modification 2024-12-11 07:48:39 -05:00
tcely a4794ec3b1 Enable filter_source_cutoff with new logic 2024-12-11 06:59:32 -05:00
tcely bb73cc6c97 Add days_to_keep_date 2024-12-11 06:43:26 -05:00
tcely d9c56db627 Disable checking against days to keep
This isn't the logic we should be using.
Just stop using it until the function is comparing the proper dates.
2024-12-11 05:35:09 -05:00
tcely ed44838aa1 Merge branch 'main' into patch-1 2024-12-10 03:11:26 -05:00
tcely 63d0f4f15a Simplify regex for sub_langs 2024-12-10 02:02:30 -05:00
tcely a4dc416ce8 Simplify directory_path
This looked to be identical code to what `filename` used.
Remove the duplicated code by using the function instead.
2024-12-10 00:05:58 -05:00
tcely 049c6f3764 Accept '-' in sub_langs 2024-12-09 18:05:45 -05:00
tcely d33be55b51 Raise an error for an invalid custom value 2024-12-09 15:44:32 -05:00
tcely a487e64550 Raise an error for an unsupported value 2024-12-09 15:40:16 -05:00
tcely 2a63e3a360 Reset tubesync/sync/models.py (#16) 2024-12-09 15:26:12 -05:00
tcely 233d384e25 Removed unnecessary str 2024-12-09 14:56:41 -05:00
tcely a02fd5bde9 maxsplit and quoting 2024-12-09 14:21:55 -05:00
tcely 279a01f9bc directory mode on settings 2024-12-09 14:06:35 -05:00
tcely fb663d508f Uppercase the codec string first, not last 2024-12-05 18:27:46 -05:00
tcely 6fdcc5ffa5 Handle STR0NNN in a generic way
The function should return 'VP9' for:

- vp9.1.2.3
- vp09.4.5.6

As well as other variations.
It also works for avc01 or av01, or any others that fit the pattern.
2024-12-05 17:56:53 -05:00
tcely f570fb57b9 Adjust to correct 60 fps case 2024-12-05 07:57:24 -05:00
tcely b1a4c8bbaf Include streams with a blank format_note and the proper height 2024-12-05 00:30:32 +00:00
tcely 09044aa95d Return for empty format lists first 2024-12-05 00:30:32 +00:00
tcely 6d7d3483a4 Use the audio format list from youtube-dl 2024-12-05 00:30:32 +00:00
tcely ed98f56946 Adjust VP09 vcodec to match VP09 source vcodec 2024-12-05 00:30:32 +00:00
tcely 526c6a97b4 Match against height instead of format 2024-12-05 00:30:32 +00:00
tcely 77247f7a7f Use reversed argument for multiple key sorting 2024-12-05 00:30:32 +00:00
tcely ede9dff4e6 Use new multiple key sorting 2024-12-05 00:30:32 +00:00
tcely 4b60073ef0 Add multiple key sorting 2024-12-05 00:30:32 +00:00
tcely 8f9bb782a7 Adjusted awk check
It turned out `exit` doesn't work as I thought it did.
2024-11-25 17:00:31 -05:00
tcely 6c7c1c6510 The response headers weren't useful 2024-11-24 08:34:34 -05:00
tcely 073ae73add Merge branch 'meeb:main' into patch-3 2024-11-24 08:17:00 -05:00
tcely 29dfe4570d Used awk to check for correct ffmpeg output 2024-11-24 08:16:34 -05:00
tcely a921adedc0 Test the output for FFMPEG_VERSION exists
The shell used on the build system doesn't support `pipefail` so test for output instead.

It might be incorrect output, but in combination with running the `ffmpeg` binary earlier, this should be enough.
2024-11-24 07:13:19 -05:00
tcely f4a88cf7fa Used the long form for all curl options. 2024-11-24 06:34:28 -05:00
tcely 163fcbeb2a Overwrite the specified file when it already exists 2024-11-24 06:10:30 -05:00
tcely 6b807a8654 Log the server response headers 2024-11-24 05:47:40 -05:00
tcely 3c5641b542 Ignore a curl config file that may exist 2024-11-24 05:44:22 -05:00
tcely 599728d38c Had file inspect the binary from the /init script instead. 2024-11-24 05:33:53 -05:00
tcely 10678afca2 Log what file determined about the extracted files 2024-11-24 00:33:45 -05:00
tcely d4834e427f Failed ffmpeg is now noisier
This should be enough to fail the build when the binary doesn't work.
2024-11-24 00:27:33 -05:00
tcely 908b55c191 Show which directories were created 2024-11-24 00:21:57 -05:00
tcely 401c687725 Adjusted HOME only for pipenv
Nothing later should have been affected, but this is the cleaner way.
2024-11-24 00:18:51 -05:00
tcely a60f68faf3 Used printf consistently
Specifically turn off flags to printf where none are intended.
There are fewer things to keep in mind this way.
2024-11-24 00:15:28 -05:00
tcely 583ebffc58 Spelled firewall correctly
Anyone using this to turn off the healthcheck firewall needs to update the variable that they are using.

Maybe announce this in the UI if the setting is not true?
2024-11-23 08:11:23 -05:00
tcely 304c36d648 Remove value from TARGETARCH
This should be set by the build system. I had stuck that value in while testing from the command line.
2024-11-22 12:55:21 -05:00
tcely 83f2831439 More fixes from testing for download_expected_file
- Used download_expected_file for ffmpeg also
- Updated to a ffmpeg version that could be downloaded
- Optimized tar extraction for ffmpeg
- Preserved the original `/root` using a copy in `/tmp` instead
- DRY'd the file name and expected / URL values
2024-11-22 10:43:00 -05:00
tcely 8885571c5a Fixes from testing for download_expected_file 2024-11-22 06:39:35 -05:00
tcely e654eca107 Used download_expected_file for s6 2024-11-22 05:48:08 -05:00
tcely 17b03e2c69 Moved s6 hashes into build args 2024-11-22 04:24:21 -05:00
tcely 23cf332d02 Record version values in the container
I'm tempted to use a .environment file to set the build argument values so that there is less to change for new versions.

Perhaps later 

Also, I am unsure why we don't just use `ARCH="${TARGET ARCH}"` since we are only using `ARCH` in things we control, as far as I can tell.
2024-11-22 03:31:54 -05:00
tcely 726d128db9 Added YOUTUBE_DL_TEMPDIR 2024-11-19 17:34:58 -05:00
tcely 314f3d874a Enable the yt-dlp tempdir by default 2024-11-19 17:32:07 -05:00
tcely 41e24b82b8 Made DEBUG work for youtube-dl also 2024-11-19 17:29:55 -05:00
tcely 20d631ca78 Use YOUTUBE_DL_TEMPDIR setting
Fixes #218
2024-11-19 17:06:46 -05:00