summaryrefslogtreecommitdiffstats
path: root/bindings/python/examples/play.py
blob: 6ad6f604fd571db36107e5dc799f9ce7f126af41 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/usr/bin/python

import os, os.path
import gpod
import sys

ipod_mount = '/mnt/ipod'

remove_track = "The Dancer"

#dbname = os.path.join(os.environ['HOME'],".gtkpod/iTunesDB")
dbname = os.path.join(ipod_mount,"iPod_Control/iTunes/iTunesDB")

itdb = gpod.itdb_parse_file(dbname, None)
if not itdb:
    print "Failed to read %s" % dbname
    sys.exit(2)
itdb.mountpoint = ipod_mount

    
for track in gpod.sw_get_tracks(itdb):
    lists = []
    for playlist in gpod.sw_get_playlists(itdb):
        if gpod.itdb_playlist_contains_track(playlist, track):
            lists.append(playlist)

    print "%-25s %-20s %-20s %-30s %s" % (track.title,
                                          track.album,
                                          track.artist,
                                          gpod.itdb_filename_on_ipod(track),
                                          repr(",".join([l.name for l in lists])))

    if track.title == remove_track:
        print "Removing track.."
        print "..disk"
        os.unlink(gpod.itdb_filename_on_ipod(track))
        for l in lists:
            print "..playlist %s" % l.name
            gpod.itdb_playlist_remove_track(l, track)
        print "..db"
        gpod.itdb_track_unlink(track)
        print "Track removed."

gpod.itdb_write_file(itdb, dbname, None)