summaryrefslogtreecommitdiffstats
path: root/bindings/python/ipod.py
diff options
context:
space:
mode:
authorNicholas Piper <nicholas@users.sourceforge.net>2006-05-07 21:47:32 +0000
committerNicholas Piper <nicholas@users.sourceforge.net>2006-05-07 21:47:32 +0000
commit303a09d9da9aeb679a627d88887db3f04a0d7baa (patch)
tree82150eac4f80b6cdfb1c2b5784bcdeedc5e93764 /bindings/python/ipod.py
parentea7be32cae9b599bafa3dbe97236a3a16470a3e5 (diff)
downloadlibgpod-303a09d9da9aeb679a627d88887db3f04a0d7baa.tar.gz
libgpod-303a09d9da9aeb679a627d88887db3f04a0d7baa.tar.xz
libgpod-303a09d9da9aeb679a627d88887db3f04a0d7baa.zip
Allow add_song.py to create a playlist to put the new tracks into
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1259 f01d2545-417e-4e96-918e-98f8d0dbbcb6
Diffstat (limited to 'bindings/python/ipod.py')
-rw-r--r--bindings/python/ipod.py13
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)