-
Notifications
You must be signed in to change notification settings - Fork 89
Handle Device conflicts between core schema and extensions #2132
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## dev #2132 +/- ##
==========================================
+ Coverage 95.19% 95.23% +0.04%
==========================================
Files 28 29 +1
Lines 2851 2876 +25
Branches 736 740 +4
==========================================
+ Hits 2714 2739 +25
Misses 83 83
Partials 54 54
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
@rly - see note in the PR description about the tests not passing until hdmf-dev/hdmf#1309 is merged, but otherwise this part should be ready for review |
|
@rly this is ready for review! |
Co-authored-by: Ryan Ly <[email protected]>
Co-authored-by: Ryan Ly <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good!
Motivation
Fix #2108. Related to updates in hdmf-dev/hdmf#1309 that will warn a user when there are extension conflicts, these changes remap some of these conflicts on read.
Device.modelas a string attribute to aDeviceModelobject on read.Device.modeldefined by other extensions to aDevice.{extension_name}_modelfield to allow data from files with an older extension with a conflicting Device.model to be read.Note - the tests will not pass until hdmf-dev/hdmf#1309 is merged since it raises a warning instead of an error if an extension attempts to overwrite an existing specification.
How to test the behavior?
Checklist
ruff check . && codespellfrom the source directory.