wrolpi/modules/videos/test
lrnselfreliance 1ded249fc7
Collections: changes wait for their config's import; domains with archives survive the import (#784)
* collections: refuse playlist changes until playlists.yaml is imported

While WROLPi starts, the API accepts requests before every config is imported.  A playlist created then could not be
saved, and the import which followed deleted it as "no longer in config" (and rebuilt every playlist's items from
the config, undoing any change).  Playlist changes now wait for the import (503, "still starting").

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* collections: refuse domain changes until domains.yaml is imported

A domain created, changed, tagged or deleted through the API before domains.yaml was imported (e.g. while WROLPi
starts) was undone by the import.  These now wait for the import (503, "still starting").

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* archive: importing domains.yaml keeps domains which have archives

Archives create their domain (e.g. one uploaded, or found by a refresh, while WROLPi starts, before domains.yaml is
imported).  The import deleted every domain missing from the config, and the database deleted that domain's Archives
with it.  A domain with Archives is now kept (and saved to the config with the next change).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* videos: refuse Channel changes until channels.yaml is imported

A Channel created through the API before channels.yaml was imported (e.g. while WROLPi starts) could not be saved,
and the import which followed deleted it, and its Downloads, as "not in the config".  Creating, changing, tagging and
deleting a Channel (through the Channel or Collection API) now wait for the import (503, "still starting").

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-07 14:33:51 -06:00
..
__init__.py A new start 2021-11-01 16:43:09 -06:00
test_api.py db: request-path library functions use the request's connection (#774) 2026-10-04 11:05:20 -06:00
test_audio_modeling.py files: shared modeler batch loop for video, doc, zim, archive (#722) 2026-09-24 16:47:46 -06:00
test_channel_directory_scenarios.py db: write intent is the opt-in, not a second session helper 2026-08-07 20:15:50 -06:00
test_channel_refresh_events.py videos: silence the automatic channel refresh before downloads (#671) 2026-08-20 15:15:18 -06:00
test_channel_refresh_external_files.py Displaying download progress (speed, eta) for file and video downloads. 2026-03-12 19:31:35 -06:00
test_channels_config.py Collections: changes wait for their config's import; domains with archives survive the import (#784) 2026-10-07 14:33:51 -06:00
test_common.py Jobs queue, video Edit dropdown: transcode/remux, edit title & description (#711) 2026-09-16 19:25:23 -06:00
test_cookies.py Using shared context to sync cookies between processes. 2026-02-22 14:32:27 -07:00
test_downloader.py Jobs queue, video Edit dropdown: transcode/remux, edit title & description (#711) 2026-09-16 19:25:23 -06:00
test_lib.py db: request-path library functions use the request's connection (#774) 2026-10-04 11:05:20 -06:00
test_models.py Handling when skip_urls is a None. Logging a warning (and ignoring) when duplicate json files are in a Video FileGroup. 2026-03-13 15:27:43 -06:00
test_transcode.py Jobs queue, video Edit dropdown: transcode/remux, edit title & description (#711) 2026-09-16 19:25:23 -06:00
test_transcode_audio.py videos: transcode can remove the audio stream (silent video) (#737) 2026-09-26 17:49:14 -06:00
test_transcode_job.py videos: hide the transcoder's temporary output from the file refresh (#731) 2026-09-26 14:59:51 -06:00
test_video.py db: serializers read only loaded data (#777) 2026-10-04 18:28:08 -06:00
test_video_edit.py db: request-path library functions use the request's connection (#774) 2026-10-04 11:05:20 -06:00
test_video_modeler_loop.py Fixing bug where not all archives were modeled. 2025-12-18 17:19:57 -07:00
test_video_url_resolver.py Trying to get existing channel using more variations of Youtube URLs. 2026-03-20 17:26:51 -06:00