Commit Graph

4011 Commits

Author SHA1 Message Date
tcely
cfc7b3af5e fix: enhance Media.download_thumbnails
This now handles:
1. conversion
2. resizing
3. saving the thumbnail
4. copying the thumbnail
2026-09-21 19:17:38 -04:00
tcely
e8e1097b0e chore: add the Media.download_thumbnails function 2026-09-21 17:41:22 -04:00
tcely
e9fe86a5d7 fix: download thumbnails with curl 2026-09-21 16:59:40 -04:00
tcely
76e19b0fe0 Merge pull request #1600 from meeb/test-ubuntu-24-for-test
chore(ci): upgrade test job runner from Ubuntu 22 to 24
2026-09-21 15:14:44 -04:00
tcely
925b91ce5d chore(ci): upgrade test job runner from Ubuntu 22 to 24 2026-09-21 10:06:08 -04:00
tcely
967ff137a6 fix(scripts): bun: also use older sq versions
From oldest to newest:
- Ubuntu LTS 22
- Debian 12
- Ubuntu LTS 24
- Debian 13
- Ubuntu LTS 26
2026-09-20 23:14:11 -04:00
tcely
dc0b68a583 chore(ci): upgrade the scripts runner to Ubuntu LTS 26.04 ARM 2026-09-20 17:08:23 -04:00
tcely
e692efe144 fix(scripts): bun: install the selected asset 2026-09-20 16:57:28 -04:00
tcely
7e894fa3a3 chore: clean up unused imports in verify_bun.ts 2026-09-20 16:48:20 -04:00
tcely
b7490c7402 chore(ci): turn off sq & sqv help output 2026-09-20 11:30:31 -04:00
tcely
2305917447 fix(scripts): bun: try sleeping before any output 2026-09-20 11:02:11 -04:00
tcely
ef141e8d9d chore(ci): revert temporary changes
* Revert "fix: temporarily allow dive analysis to continue on error"

This reverts commit 7f5215c411.

* Revert "fix: temporarily add perl-base to unhold list"

This reverts commit bed919f494.
2026-09-20 10:47:16 -04:00
tcely
b52580e216 feat(scripts): install_bun.sh 2026-09-20 10:43:43 -04:00
tcely
0b8ae78a1e fix(scripts): stricter checks and less output 2026-09-14 17:50:31 -04:00
tcely
095f38f1ca fix(scripts): display the tag when fetching 2026-09-14 17:31:03 -04:00
tcely
37c435fe5d fix(scripts): also download and verify the extracted checksum 2026-09-14 17:31:00 -04:00
tcely
72ca2b7e6e fix(scripts): make multiple attempts to download 2026-09-14 17:30:56 -04:00
tcely
e89678f1ae Merge pull request #1595 from meeb/tcely-merge-mpegts
fix(yt-dlp): gracefully handle mpegts formats
2026-09-14 07:49:28 -04:00
tcely
691f4839b2 fix(yt-dlp): gracefully handle mpegts formats 2026-09-13 17:45:19 -04:00
tcely
d517f9f52f chore(yt-dlp): add output options 2026-09-13 15:19:37 -04:00
tcely
2856ae1065 fix(debconf): handle missing template field better 2026-09-12 22:25:06 -04:00
tcely
c4f2913812 fix(debconf): turn off backups 2026-09-12 20:17:45 -04:00
tcely
893adb8045 fix(debconf): rewrote Debconf/DbDriver/PackageDir.pm
This entire system is too inconsistent for my preferences.

For now, this driver should be more consistent and resilient.
2026-09-12 19:33:29 -04:00
tcely
5cd37797f1 chore: include the latest wiki changes 2026-09-12 18:53:16 -04:00
tcely
7f5215c411 fix: temporarily allow dive analysis to continue on error 2026-09-12 10:51:59 -04:00
tcely
92eaec893b Merge pull request #1591 from meeb/tcely-testing-Dockerfile
fix(debconf): accept .lock in Debconf/DbDriver/PackageDir.pm
2026-09-12 10:18:27 -04:00
tcely
3e4ccc846d fix(debconf): accept .lock in Debconf/DbDriver/PackageDir.pm 2026-09-12 09:54:27 -04:00
tcely
bed919f494 fix: temporarily add perl-base to unhold list
After the image is updated, this should no longer be present.
2026-09-12 06:04:16 -04:00
tcely
b3d21dd5f5 Merge pull request #1590 from jlaska/feat/bgutil-pot-provider-2.0.0
chore: upgrade `bgutil-ytdlp-pot-provider` to `2.0.0`
2026-09-12 05:49:55 -04:00
James Laska
f53281ea95 chore: upgrade bgutil-ytdlp-pot-provider to 2.0.0 2026-09-11 15:04:57 -04:00
tcely
d66793356e Merge pull request #1585 from masterdot/feat/prefer-audio-track
feat: per-source setting to choose between original and default audio
2026-09-10 02:59:08 -04:00
tcely
7e0ceb6d12 Merge branch 'main' into feat/prefer-audio-track 2026-09-10 02:57:38 -04:00
tcely
7a45189ad6 chore(lint): ignore rules for shasum_tests.py 2026-09-08 12:08:01 -04:00
masterdot
b6ed2a1894 refactor: rename Source.prefer_audio_track to audio_track
Per review: 'prefer_audio_track' reads like the prefer_60fps/prefer_hdr
booleans, but this is a pick-one choice. Renamed to audio_track and
regenerated the migration (as 0038_source_audio_track) - it had drifted
after the switch to single-letter values: default='original' and the long
choices under max_length=1 would fail the AddField back-fill on Postgres.

Also addresses the lint findings in the touched files:
- matching.py: collapse nested prefer_60fps/prefer_hdr ifs (SIM102),
  fold matched_resolution and the video fallback branches (SIM114)
- test_frontend.py: str.removeprefix, dict.values(), and a DTZ001 noqa
  on the deliberately naive datetime that make_aware() wraps
2026-09-08 16:23:16 +02:00
tcely
9a0c8d9e3a chore: use keys unlike regular format id values
Co-authored-by: tcely <tcely@users.noreply.github.com>
2026-09-08 09:19:20 -04:00
tcely
e61e3905a0 Merge branch 'main' into feat/prefer-audio-track 2026-09-08 09:14:51 -04:00
tcely
ac62a1efcd chore: update tests for the shorter values
Co-authored-by: tcely <tcely@users.noreply.github.com>
2026-09-08 09:13:09 -04:00
tcely
f30348d75f chore: switch to a single letter
Co-authored-by: tcely <tcely@users.noreply.github.com>
2026-09-08 08:37:35 -04:00
tcely
9146954fdb chore(lint): ignore INT001 2026-09-08 06:44:02 -04:00
tcely
0eeddbd6b6 fix(lint): address B006 & B008 2026-09-08 06:43:59 -04:00
tcely
328a43c187 chore: simplify logic to retrieve FFMPEG release date 2026-09-08 06:05:58 -04:00
tcely
77ccf381de fix(lint): address PLC0208 2026-09-08 05:14:26 -04:00
masterdot
6bcd1891de test(matching): cover original vs default audio-track selection
New metadata_multi_audio fixture (English original + Spanish default
tracks) drives tests for get_best_audio_format, get_best_combined_format
and the video+audio split path under both preference values, plus a
regression guard that marker-free metadata is unaffected and a unit test
for the new parse_media_format flags.

Refs #1468
2026-09-07 20:10:33 +02:00
masterdot
a7dc72d9aa feat(ui): expose prefer_audio_track in the source form and detail page
Refs #1468
2026-09-07 19:57:10 +02:00
masterdot
c56740dca5 feat(matching): honour Source.prefer_audio_track in audio + combined matching
get_best_combined_format and get_best_audio_format now pick the audio
track (original vs the publisher's default) that the source asked for,
and get_fallback_id takes a prefer= kwarg for the shared tie-break.

- combined: replaces PR #1452's hard-coded 'prefer original' with the
  per-source choice (identical behaviour while the field defaults to
  'original')
- audio-only: the track preference is now applied among codec-matched
  formats, where before only the codec mattered; a codec match still
  wins over the track preference
- when no format carries an (original)/(default) marker (a single-track
  video) every path behaves exactly as before

Fixes #1468
2026-09-07 19:56:49 +02:00
masterdot
97082928a1 refactor(utils): expose is_original/is_default on parsed formats
parse_media_format now derives is_original / is_default from the
format_note markers, consistent with is_60fps / is_hdr. Lets the format
matchers stop doing raw substring checks on format_note.

Refs #1468
2026-09-07 19:54:56 +02:00
masterdot
f485740e3a feat(models): add Source.prefer_audio_track
A per-Source CharField choice (original / default) with a data migration.
Defaults to 'original', which keeps the current combined-format matching
behaviour (added in PR #1452) unchanged. format_summary gains a
' DEFAULT-AUDIO' marker so the source list shows which sources deviate.

Refs #1468
2026-09-07 19:54:43 +02:00
masterdot
370e69392f feat(choices): add AudioTrack text choices
For an upcoming per-Source setting that picks between the original audio
track and the publisher's default track (often an auto-generated dub)
when a video exposes more than one.
2026-09-07 19:53:59 +02:00
tcely
255b5b754e Merge pull request #1584 from meeb/release/0.18.4
Release for 2026-009
2026-09-04 13:12:17 -04:00
tcely
4e368138d1 Release for 2026-009 2026-09-04 05:42:18 -04:00