Exemple #1
0
def handle(trackid, outdir, sess):
    print trackid,
    flush()

    try:
        track = Track.read(sess, trackid)
    except AttributeError:
        # This usually happens because the server returned an
        # HTTPInterfaceException, perhaps because the file wasn't found.
        # We'll just move on.
        print "not found on server"
        return

    print track.name,
    flush()

    if not track.albumid in albums:
        album = Album.read(sess, track.albumid)
        albums[album.id] = album
    else:
        album = albums[track.albumid]
    print "on", album.name,
    flush()

    if not track.artistid in artists:
        artist = Artist.read(sess, track.artistid, False)
        artists[artist.id] = artist
    else:
        artist = artists[track.artistid]
    print "by", artist.name, "...",
    flush()

    songdir = "%s/%s/%s" % (outdir, safepath(artist.name), safepath(
        album.name))
    flush()
    if not os.path.exists(songdir):
        os.makedirs(songdir)

    path = "%s/%d - %s.m4a" % (songdir, track.number, safepath(track.name))
    outfile = open(path, "w+")

    content = track.stream(sess, rapi.FORMAT_AAC_192).read()
    outfile.write(content)
    outfile.close()

    retag(path, artist, album, track)

    print "done"
    flush()
Exemple #2
0
def handle(trackid, outdir, sess):
    print trackid,
    flush()

    try:
        track = Track.read(sess, trackid)
    except AttributeError:
        # This usually happens because the server returned an 
        # HTTPInterfaceException, perhaps because the file wasn't found. 
        # We'll just move on.
        print "not found on server"
        return

    print track.name, 
    flush()

    if not track.albumid in albums:
        album = Album.read(sess, track.albumid)
        albums[album.id] = album
    else:
        album = albums[track.albumid]
    print "on", album.name,
    flush()

    if not track.artistid in artists:
        artist = Artist.read(sess, track.artistid, False)
        artists[artist.id] = artist
    else:
        artist = artists[track.artistid]
    print "by", artist.name, "...",
    flush()

    songdir = "%s/%s/%s" % (outdir, safepath(artist.name), safepath(album.name))
    flush()
    if not os.path.exists(songdir):
        os.makedirs(songdir)
    
    path = "%s/%d - %s.m4a" % (songdir, track.number, safepath(track.name))
    outfile = open(path, "w+")

    content = track.stream(sess, rapi.FORMAT_AAC_192).read()
    outfile.write(content)
    outfile.close()

    retag(path, artist, album, track)

    print "done"
    flush()
Exemple #3
0
sample_artist = "Art.6774631"
sample_album = "Alb.9999950"
sample_track = "Tra.10013054"

username = "******"
password = "******"

if __name__ == '__main__':
    sess = rapi.auth(username, password)

    print sess.cobrandId
    print sess.token
    print sess.userGuid
    print

    art = Artist.read(sess, sample_artist)
    print art.id
    print art.name
    print art.image
    for alb in art.albumids:
        print alb, " ",
    print 
    print

    alb = Album.read(sess, sample_album)
    print alb.id
    print alb.artistid
    print alb.name
    print alb.art
    print alb.year
    print alb.numDiscs
Exemple #4
0
sample_artist = "Art.6774631"
sample_album = "Alb.9999950"
sample_track = "Tra.10013054"

username = "******"
password = "******"

if __name__ == '__main__':
    sess = rapi.auth(username, password)

    print sess.cobrandId
    print sess.token
    print sess.userGuid
    print

    art = Artist.read(sess, sample_artist)
    print art.id
    print art.name
    print art.image
    for alb in art.albumids:
        print alb, " ",
    print
    print

    alb = Album.read(sess, sample_album)
    print alb.id
    print alb.artistid
    print alb.name
    print alb.art
    print alb.year
    print alb.numDiscs