diff options
Diffstat (limited to 'bindings/python/ipod.py')
-rw-r--r-- | bindings/python/ipod.py | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/bindings/python/ipod.py b/bindings/python/ipod.py index 020ed20..9a2a357 100644 --- a/bindings/python/ipod.py +++ b/bindings/python/ipod.py @@ -113,7 +113,10 @@ class Track: self._track = gpod.itdb_track_new() self['userdata'] = {'filename_locale': from_file, 'transferred': 0} - audiofile = eyeD3.Mp3AudioFile(self['userdata']['filename_locale']) + try: + audiofile = eyeD3.Mp3AudioFile(self['userdata']['filename_locale']) + except eyeD3.tag.InvalidAudioFormatException, e: + raise TrackException(str(e)) tag = audiofile.getTag() for func, attrib in (('getArtist','artist'), ('getTitle','title'), @@ -123,7 +126,10 @@ class Track: value = getattr(tag,func)() if value: self[attrib] = value - self['genre'] = tag.getGenre().name + try: + self['genre'] = tag.getGenre().name + except AttributeError: + pass disc, of = tag.getDiscNum() if disc is not None: self['cd_nr'] = disc @@ -322,5 +328,8 @@ class Playlist: #return self._pl.num # Always 0 ? return gpod.sw_get_list_len(self._pl.members) + def __nonzero__(self): + return True + def add(self, track, pos=-1): gpod.itdb_playlist_add_track(self._pl, track._track, pos) |