The only visible difference is that the second value is unicode in the first output, and a plain string in the second. But, they should compare equal.
I dug deeper, and altered the code to print out the state of candidates[ie.revision] and ie at this point, using the state that is compared in InventoryLink.__eq__ (actually InventoryEntry.__eq__).
The only difference was in text_size.
candidates[ie.revision].text_size is 0
ie.text_size is None
At this point, the following expressions have the following values: ie.revision] :
candidates[
InventoryLink( 'mailconfiguren ormal.zcml- 20051031024101- 91557621bcfb43e 3', u'mail- configure- normal. zcml', parent_ id='emperor- 20051030145002- 920a3c2f6ab8367 5', <email address hidden>')
ie:
InventoryLink( 'mailconfiguren ormal.zcml- 20051031024101- 91557621bcfb43e 3', 'mail-configure -normal. zcml', parent_ id='emperor- 20051030145002- 920a3c2f6ab8367 5', <email address hidden>')
The only visible difference is that the second value is unicode in the first output, and a plain string in the second. But, they should compare equal.
I dug deeper, and altered the code to print out the state of candidates[ ie.revision] and ie at this point, using the state that is compared in InventoryLink. __eq__ (actually InventoryEntry. __eq__) .
The only difference was in text_size.
candidates[ ie.revision] .text_size is 0
ie.text_size is None