Gateway: resolve ISRC through catalog songs (#18) #1

Merged
tophattedcat merged 1 commit from fix/library-song-isrc into main 2026-08-16 16:30:43 +00:00
Owner

Summary

Apple library-song resources do not normally expose ISRC in attributes; the ISRC is on the related catalog songs resource.

This change:

  • requests include=catalog for playlist-track requests;
  • resolves catalog songs from inline relationships or top-level included resources;
  • extracts the catalog ISRC while preserving the existing library-song fallback;
  • keeps unmatched/local tracks as null;
  • adds regression coverage for both Apple response shapes.

Closes the gateway portion of coop/beets-appleplaylists#18.

Test plan

  • 66 passed
  • python -m compileall -q app tests
  • git diff --check
## Summary Apple library-song resources do not normally expose ISRC in `attributes`; the ISRC is on the related catalog `songs` resource. This change: - requests `include=catalog` for playlist-track requests; - resolves catalog songs from inline relationships or top-level `included` resources; - extracts the catalog ISRC while preserving the existing library-song fallback; - keeps unmatched/local tracks as `null`; - adds regression coverage for both Apple response shapes. Closes the gateway portion of `coop/beets-appleplaylists#18`. ## Test plan - `66 passed` - `python -m compileall -q app tests` - `git diff --check`
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coop/apple-music-gateway!1
No description provided.