Fixed uncaught exception thrown by eyeD3 on 2 digit years.
/mp3togo/tags.py
blob:8e07bbe07cbe212e0899b99837e4fa008d80135a -> blob:ed23920e9d36998940bee44539526d553a688319
--- mp3togo/tags.py
+++ mp3togo/tags.py
@@ -95,18 +95,23 @@ class Tags(UserDict.DictMixin):
return o
if self._type == 'mp3' and HAVE_ID3:
+ rok = False
if HAVE_eyeD3:
eye = eyeD3.Tag()
- eye.link(self._file)
- self._tags['ARTIST'] = [eye.getArtist() or '']
- self._tags['ALBUM'] = [eye.getAlbum() or '']
- self._tags['TITLE'] = [eye.getTitle() or '']
try:
- self._tags['GENRE'] = [getattr(eye.getGenre(), 'name', 'Other')]
- except eyeD3.tag.GenreException:
- self._tags['GENRE'] = 'Other'
- del eye
- elif HAVE_ID3:
+ eye.link(self._file)
+ self._tags['ARTIST'] = [eye.getArtist() or '']
+ self._tags['ALBUM'] = [eye.getAlbum() or '']
+ self._tags['TITLE'] = [eye.getTitle() or '']
+ try:
+ self._tags['GENRE'] = [getattr(eye.getGenre(), 'name', 'Other')]
+ except eyeD3.tag.GenreException:
+ self._tags['GENRE'] = 'Other'
+ del eye
+ rok = True
+ except eyeD3.tag.TagException:
+ pass
+ if HAVE_ID3 and not rok:
info = ID3.ID3(self._file, as_tuple=1).as_dict()
self._tags = copytags(info)
del info