new generic TrackInfo and AlbumInfo #2654
TrackInfo and AlbumInfo inheritate from class ItemInfo, which behaves
referenced this pull request
Aug 13, 2017
It seems that perfect flexibility (i.e. dumping directly musicbrainz data to tags) isn't possible, due to the recursive architecture of musicbrainz relations (relations that have relations, which can be seen in musicbrainzngs dict as they are recursive) which can't be applied to the media tags.
Therefore, I chose to base the tagging process on the parsing of a mapping. The mapping reproduces the architecture of the musicbrainzngs dict and maps the musicbrainzngs dict key to the tag key (the ItemInfo attribute/key). Flexibility is improved as the mapping should eventually be stored in a json or yaml file, which will have to be updated to follow musicbrainz database schemes updates, one shouldn't need to edit python code to add an attribute, only update model.
Tags that need processing are treated separately (e.g. track index).