diff options
| author | Nicholas Piper <nicholas@users.sourceforge.net> | 2006-05-07 17:55:35 +0000 |
|---|---|---|
| committer | Nicholas Piper <nicholas@users.sourceforge.net> | 2006-05-07 17:55:35 +0000 |
| commit | 13a944c00101b3c393c82392d19e29f92a1e1155 (patch) | |
| tree | e5b68b7266a7c05e1a563e636a0e07b06c3b0822 /bindings/python/examples | |
| parent | 9358c51be48c30c22577f68441c0d1f40c8b3fb5 (diff) | |
| download | libgpod-13a944c00101b3c393c82392d19e29f92a1e1155.tar.gz libgpod-13a944c00101b3c393c82392d19e29f92a1e1155.tar.xz libgpod-13a944c00101b3c393c82392d19e29f92a1e1155.zip | |
Track, Database and Playlist support for the nicer API. add_song.py uses this now.
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1258 f01d2545-417e-4e96-918e-98f8d0dbbcb6
Diffstat (limited to 'bindings/python/examples')
| -rwxr-xr-x | bindings/python/examples/add_song.py | 50 | ||||
| -rwxr-xr-x | bindings/python/examples/playwith_ipod_api.py | 14 |
2 files changed, 24 insertions, 40 deletions
diff --git a/bindings/python/examples/add_song.py b/bindings/python/examples/add_song.py index acca621..a913d1d 100755 --- a/bindings/python/examples/add_song.py +++ b/bindings/python/examples/add_song.py @@ -26,10 +26,10 @@ import os, os.path import gpod import sys from optparse import OptionParser -import eyeD3 import urlparse, urllib2 import tempfile import shutil +import eyeD3 def download(path): print "Downloading %s" % path @@ -70,11 +70,7 @@ parser.add_option("-p", "--podcast", if len(args) == 0: parser.error("Requires an mp3 to add.") -itdb = gpod.itdb_parse(options.mountpoint, None) -if not itdb: - print "Failed to read iPod at %s" % options.mountpoint - sys.exit(2) -itdb.mountpoint = options.mountpoint +db = gpod.Database(options.mountpoint) for path in args: deleteWhenDone = [] @@ -90,42 +86,28 @@ for path in args: deleteWhenDone.pop() continue - track = gpod.itdb_track_new() - audiofile = eyeD3.Mp3AudioFile(path) - tag = audiofile.getTag() - - track.artist= str(tag.getArtist()) - track.album = str(tag.getAlbum()) - track.title = str(tag.getTitle()) - track.filetype = 'mp3' - track.tracklen = audiofile.getPlayTime() * 1000 # important to add!, iPod uses ms. - + track = gpod.Track(from_file=path, podcast=options.ispodcast) + db.add(track) + if options.ispodcast: - track.flag2 = 0x01 # skip when shuffling - track.flag3 = 0x01 # remember playback position - track.flag4 = 0x01 # Show Title/Album on the 'Now Playing' page - playlists = [gpod.itdb_playlist_podcasts(itdb)] - print "Adding Podcast %s (Title: %s)" % (path,track.title) + playlists = [db.Podcasts] + print "Adding Podcast %s (%s)" % (path,track) else: - track.flag2 = 0x00 # do not skip when shuffling - track.flag3 = 0x00 # do not remember playback position - track.flag4 = 0x00 # Show Title/Album/Artist on the 'New Playing' page - playlists = [gpod.itdb_playlist_mpl(itdb)] - print "Adding Song %s (Title: %s)" % (path,track.title) - - gpod.itdb_track_add(itdb, track, -1) + playlists = [db.Master] + print "Adding Song %s (%s)" % (path,track) for playlist in playlists: - gpod.itdb_playlist_add_track(playlist, track, -1) + print " adding to playlist %s" % playlist + playlist.add(track) + print " added to playlist %s" % playlist - if gpod.itdb_cp_track_to_ipod(track, path, None) == 1: - print "Copied to %s" % gpod.itdb_filename_on_ipod(track) - else: - print "Copy failed" + print " added Song %s (%s)" % (path,track) + + track.copy_to_ipod() [os.unlink(f) for f in deleteWhenDone] -gpod.itdb_write(itdb, None) +db.close() print "Saved db" diff --git a/bindings/python/examples/playwith_ipod_api.py b/bindings/python/examples/playwith_ipod_api.py index 544de5b..4780f73 100755 --- a/bindings/python/examples/playwith_ipod_api.py +++ b/bindings/python/examples/playwith_ipod_api.py @@ -1,14 +1,16 @@ #!/usr/bin/python -import ipod +import gpod -db = ipod.Database() +db = gpod.Database() + +print db for track in db[4:20]: print track print track['title'] -filename = "/mp3/Blondie/No_Exit/Blondie_-_Maria.mp3" -t = ipod.Track(from_file=filename) -print t - +for pl in db.Playlists: + print pl + for track in pl: + print " ", track |
