MCGClient: album hashing corrected
This commit is contained in:
parent
f812dcdefb
commit
f6d0b280d3
1 changed files with 8 additions and 7 deletions
15
mcg.py
15
mcg.py
|
@ -182,15 +182,14 @@ class MCGClient:
|
||||||
"""
|
"""
|
||||||
for song in self._client.listallinfo():
|
for song in self._client.listallinfo():
|
||||||
try:
|
try:
|
||||||
if song['album'] not in self._albums:
|
hash = MCGAlbum.hash(song['artist'], song['album'])
|
||||||
|
if hash in self._albums.keys():
|
||||||
|
album = self._albums[hash]
|
||||||
|
else:
|
||||||
album = MCGAlbum(song['artist'], song['album'], song['date'], os.path.dirname(song['file']))
|
album = MCGAlbum(song['artist'], song['album'], song['date'], os.path.dirname(song['file']))
|
||||||
self._albums[album.get_hash()] = album
|
self._albums[album.get_hash()] = album
|
||||||
else:
|
|
||||||
album = self._albums[MCGAlbum.hash(song['artist'], song['album'])]
|
|
||||||
|
|
||||||
track = MCGTrack(song['title'], song['track'], song['time'], song['file'])
|
track = MCGTrack(song['title'], song['track'], song['time'], song['file'])
|
||||||
album.add_track(track)
|
album.add_track(track)
|
||||||
count += 1
|
|
||||||
except KeyError:
|
except KeyError:
|
||||||
pass
|
pass
|
||||||
# TODO Alben sortieren
|
# TODO Alben sortieren
|
||||||
|
@ -313,12 +312,14 @@ class MCGAlbum:
|
||||||
break
|
break
|
||||||
|
|
||||||
|
|
||||||
def hash(self, artist, title):
|
def hash(artist, title):
|
||||||
|
if type(artist) is list:
|
||||||
|
artist = artist[0]
|
||||||
return md5(artist.encode('utf-8')+title.encode('utf-8')).hexdigest()
|
return md5(artist.encode('utf-8')+title.encode('utf-8')).hexdigest()
|
||||||
|
|
||||||
|
|
||||||
def _set_hash(self):
|
def _set_hash(self):
|
||||||
self._hash = self.hash(self._artist, self._title)
|
self._hash = MCGAlbum.hash(self._artist, self._title)
|
||||||
|
|
||||||
|
|
||||||
def get_hash(self):
|
def get_hash(self):
|
||||||
|
|
Loading…
Reference in a new issue