Skip to content

Generated container class has incorrect additional __fields__ #447

Open
@rly

Description

@rly

Description

In an extension, if there is a new data type B:
data_type_def: B
data_type_inc: A

And type A has attributes, e.g., 'description', and B does not override those attributes, then those attributes should not be included in the __fields__ generated by get_class. Currently, they are duplicated in the child class. A recent change in HDMF raises an error if this occurs.

This is due to a bug in BaseStorageSpec.resolve_spec where attributes are not correctly removed from the set of new attributes.

The recent change that raises an error should instead raise a warning.

Environment

Python Executable: Conda 
Python Version: Python 3.7
Operating System: Windows
HDMF Version: dev

Checklist

  • Have you ensured the feature or change was not already reported ?
  • Have you included a brief and descriptive title?
  • Have you included a clear description of the problem you are trying to solve?
  • Have you included a minimal code snippet that reproduces the issue you are encountering?
  • Have you checked our Contributing document?

Metadata

Metadata

Assignees

No one assigned

    Labels

    category: bugerrors in the code or code behavior

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions