Move eq method to imutable object parent class

This commit is contained in:
Thomas Adamcik 2010-04-28 21:56:01 +02:00
parent 7ecc378bf9
commit 3e640e1e5b

View File

@ -23,6 +23,15 @@ class ImmutableObject(object):
sum += hash(key) + hash(value)
return sum
def __eq__(self, other):
if not isinstance(other, self.__class__):
return False
return self.__dict__ == other.__dict__
def __ne__(self, other):
return not self.__eq__(other)
class Artist(ImmutableObject):
"""
@ -38,15 +47,6 @@ class Artist(ImmutableObject):
#: The artist name. Read-only.
name = None
def __eq__(self, other):
if not isinstance(other, self.__class__):
return False
return self.__dict__ == other.__dict__
def __ne__(self, other):
return not self.__eq__(other)
class Album(ImmutableObject):
"""
@ -73,15 +73,6 @@ class Album(ImmutableObject):
self._artists = frozenset(kwargs.pop('artists', []))
super(Album, self).__init__(*args, **kwargs)
def __eq__(self, other):
if not isinstance(other, self.__class__):
return False
return self.__dict__ == other.__dict__
def __ne__(self, other):
return not self.__eq__(other)
@property
def artists(self):
"""List of :class:`Artist` elements. Read-only."""
@ -138,15 +129,6 @@ class Track(ImmutableObject):
self._artists = frozenset(kwargs.pop('artists', []))
super(Track, self).__init__(*args, **kwargs)
def __eq__(self, other):
if not isinstance(other, self.__class__):
return False
return self.__dict__ == other.__dict__
def __ne__(self, other):
return not self.__eq__(other)
@property
def artists(self):
"""List of :class:`Artist`. Read-only."""