X-Git-Url: https://git.kaliko.me/?a=blobdiff_plain;f=sima%2Flib%2Ftrack.py;h=f6385d38a6b613fe7b2cd45257b40f164a105c5c;hb=refs%2Fheads%2Ftrack_equality;hp=e4740bfa56b441ca0dd3e63a545695762e76a644;hpb=93ad5efaffc6e4fd9476513ee16386e21ea4049d;p=mpd-sima.git diff --git a/sima/lib/track.py b/sima/lib/track.py index e4740bf..f6385d3 100644 --- a/sima/lib/track.py +++ b/sima/lib/track.py @@ -34,7 +34,8 @@ class Track: :param int time: duration in second, defaults to 0 :param int pos: position in queue, defaults to -1 :param str title|artist|album: defaults to "" - :param str musicbrainz_artistid|musicbrainz_albumartistid: MusicBrainz IDs, defaults to ``None`` + :param str musicbrainz_artistid: MusicBrainz IDs, defaults to ``None`` + :param str musicbrainz_albumartistid: MusicBrainz IDs, defaults to ``None`` """ def __init__(self, file=None, time=0, pos=-1, **kwargs): @@ -93,6 +94,10 @@ class Track: return Track(time=self.time - other.time) def __hash__(self): + if self.musicbrainz_artistid and self.title: + return hash(self.musicbrainz_artistid + self.title) + if self.artist and self.title: + return hash(self.artist + self.title) if self.file: return hash(self.file) else: