Closed jtpavlock closed 2 years ago
That's an interesting suggestion! Which tags are you thinking of that produce None
when the field is missing? We actually try to avoid that in most cases—the idea is to simplify client code so it doesn't need to constantly check the type of every field. For example, I believe artist
is ''
, not None
, when the underlying metadata is missing.
This design decision is certainly a trade-off. The simpler client code comes at the cost of not being able to distinguish the existence of tags.
Which tags are you thinking of that produce
None
when the field is missing?
Referencing #38 and #39, I thought this was the desired behavior if a tag is missing altogether.
Ah, you're totally right; I was thinking of the old behavior before we started making this change. (And also what we do at the beets layer, which is to coalesce missing values into default values.) In that case, this issue makes sense to me!
If a list tag does not exist, it returns an empty list rather than
None
, but if a non-list tag does not exist,None
is returned.I believe non-existent list tags should also return
None
so that this behavior is consistent.