fix: add __contains__ to dict_protocol_catcher to avoid breaking on "in"
I've started working on the horribly tedious task of "making CW works with TIP of yams" and this is a first fix.
The break is introduced in this YAMS commit: https://forge.extranet.logilab.fr/open-source/yams/commit/7adae7e5069cc8df25e231eb8a80fe12f6a0a3a5 (notice the usage of "in" that shouldn't have failed)
Before this commit, doing:
stuff = dict_protocol_catcher(entity)
not_in_entity in stuff
Would break because since contains doesn't exist, getitem is called instead and fails with a KeyError.