Hash JIDs based on full JID string.

This makes JID objects equivalent to strings in dictionaries, etc.

>>> j = JID('foo@example.com')
>>> s = 'foo@example.com'
>>> d = {j: 'yay'}
>>> d[j]
'yay'
>>> d[s]
'yay'
>>> d[s] = 'yay!!'
>>> d[j]
'yay!!'
This commit is contained in:
Lance Stout 2012-01-17 23:03:48 -08:00
parent 2923f56561
commit 86d8736dcc

View file

@ -139,3 +139,7 @@ class JID(object):
def __ne__(self, other): def __ne__(self, other):
"""Two JIDs are considered unequal if they are not equal.""" """Two JIDs are considered unequal if they are not equal."""
return not self == other return not self == other
def __hash__(self):
"""Hash a JID based on the string version of its full JID."""
return hash(self.full)