Skip to content

[playlists] Share-link wrappers + metadata entity_type filter#402

Merged
frankrousseau merged 4 commits intomainfrom
playlist-sharing
Apr 27, 2026
Merged

[playlists] Share-link wrappers + metadata entity_type filter#402
frankrousseau merged 4 commits intomainfrom
playlist-sharing

Conversation

@frankrousseau
Copy link
Copy Markdown
Contributor

Problems

  • gazu has no wrappers for the new playlist share-link routes added in [playlists] Shared playlist guest workflow + project metadata zou#1060, so pipeline scripts cannot create or revoke share links programmatically
  • all_metadata_descriptors returns every descriptor for a project; callers cannot ask for the descriptors of a specific entity type and have to filter client-side
  • Tests rely on the cgi module, which is removed in Python 3.13

Solutions

  • Add share-link management wrappers in gazu/playlist.py (all_*, get_*, new_*, remove_*) following the gazu naming conventions, with requests_mock tests
  • Accept an optional entity_type argument on all_metadata_descriptors in gazu/project.py to filter server-side, with a matching test
  • Replace the deprecated cgi.parse_multipart call in tests/utils.py with the multipart package for Python >= 3.8 compatibility

frankrousseau and others added 4 commits April 21, 2026 13:50
Add create_share_link, get_share_links and revoke_share_link to
gazu.playlist for managing playlist share links (manager+).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- create_share_link -> new_share_link
- get_share_links -> all_share_links_for_playlist
- revoke_share_link -> remove_share_link (return type str, matching
  raw.delete)

Also extend the create test to verify the request body and add a
dedicated test covering expiration_date and password parameters.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@frankrousseau frankrousseau merged commit 5f296cd into main Apr 27, 2026
19 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