Ignore unknown API fields when building ListEntry#112
Conversation
Signed-off-by: Sai Asish Y <say.apm35@gmail.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
WalkthroughPublicList._process_items now filters incoming list-item payloads to declared ListEntry fields before constructing entries. A new test covers an item with an extra field and confirms parsing still yields the expected id and title. ChangesListEntry payload filtering
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Trakt's list-items endpoint now returns a
my_ratingfield on each item.ListEntryis a frozen dataclass with a fixed set of fields, soListEntry(**item, data=data)raisesTypeError: ListEntry.__init__() got an unexpected keyword argument 'my_rating', which breaks loading the whole list.This filters
itemdown to the fieldsListEntryactually declares before constructing it, so unknown fields the API adds are ignored rather than crashing. Added a regression test intests/test_users.py.Fixes #111