Skip to content

release: cuems-utils 0.1.0rc16 - #17

Merged
ibiltari merged 4 commits into
debian/bookwormfrom
release/0.1.0rc16
Oct 8, 2026
Merged

ibiltari merged 4 commits into
debian/bookwormfrom
release/0.1.0rc16

Conversation

@ibiltari

@ibiltari ibiltari commented Oct 8, 2026

Copy link
Copy Markdown
Member

Merge main (2dd23b3, #16 media guards, 869fej07m) into debian/bookworm and cut 0.1.0rc16. Same code as the v0.1.0rc16 tag / PyPI release. Same shape as #15 (rc15).

…d, engine logs (869fej07m)

Both readers of a cue's media guarded with hasattr(cue.media, 'file_name'),
but file_name is a property that raises KeyError, which hasattr does not
catch. A client that drops a cue's media block (the UI does when the file is
not in its library list) produced an empty Media object and the editor's save
died inside the atomic block with a bare KeyError 'file_name'.

- MediaCue.media_status() -> ('none' | 'invalid' | 'ok', file_name): the
  non-raising classifier. 'none' is no media object at all (an empty <Media/>
  or JSON Media: null decode to None); 'invalid' is a media block without a
  file_name key, with an empty file_name, or without an id key.
- CueList.get_media (editor path: update, new, duplicate, relink): 'invalid'
  raises a named ValueError that says which cue, so a save that dropped the
  media never gets written; 'none' is logged at WARNING and skipped so legacy
  projects stay listable and duplicable (refusing to save that shape is the
  editor validator's job).
- CuemsScript.get_own_media (engine path, every node, every load): never
  raises; both shapes are logged at ERROR and left out of the media list, the
  project still loads and that cue fails at arm, locally, as an empty
  <Media/> always did.

Version 0.1.0rc16. Suite 625 passed (test2 venv).
fix(cues): classify a cue's media without raising; editor raises named, engine logs (869fej07m)
@codecov

codecov Bot commented Oct 8, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 96.64430% with 5 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/cuemsutils/cues/CuemsScript.py 75.00% 0 Missing and 2 partials ⚠️
src/cuemsutils/cues/MediaCue.py 80.00% 1 Missing and 1 partial ⚠️
tests/test_media_guards.py 99.18% 0 Missing and 1 partial ⚠️

📢 Thoughts on this report? Let us know!

@ibiltari
ibiltari merged commit c9da53e into debian/bookworm Oct 8, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant