Fix the way obsolete messages are stored by tomasr8 · Pull Request #1132 · python-babel/babel

Closes #1124

Previously, the Catalog.obsolete dictionary would use the msgid as a key to store messages.
When there are two messages with the same id but a different context, the latter one overwrites the former.

The fix is to use Catalog._get_key as the key, same as for _messages.

This might be considered a breaking change, however the only documentation for Catalog.obsolete is this:
image

The docs never say anything about how the keys are computed, so I think it should be safe to make this change (and perhaps document it too?)