import os, sys, tempfile, traceback
from optparse import OptionParser
+import urllib
import musicbrainz2.disc
import musicbrainz2.webservice
c(fp.close)
+def cover_art(i, asin):
+ url = 'http://images.amazon.com/images/P/%s.01.MZZZZZZZ.jpg' % (asin,)
+ fp = file('cover.front-' + i, 'w')
+ fp.write(urllib.urlopen(url).read())
+ fp.close()
+
def tags(disc, trackcount, mb=True):
results = []
seen_various = False
if not mb:
return
- include = musicbrainz2.webservice.ReleaseIncludes(artist=True, tracks=True)
+ include = musicbrainz2.webservice.ReleaseIncludes(tracks=True)
q = musicbrainz2.webservice.Query()
filter = musicbrainz2.webservice.ReleaseFilter(discId=disc.getId())
i = 0
for album in q.getReleases(filter):
i += 1
- r = q.getReleaseById(album.release.id, include)
- various = not r.isSingleArtistRelease()
+ various = not album.release.isSingleArtistRelease()
if various and not seen_various:
seen_various = True
tags_file('candidate-tags-0v', trackcount, True)
tags_file('candidate-tags-' + str(i), trackcount, various,
- r.artist.name, r.title,
+ album.release.artist.name, album.release.title,
album.release.getReleaseEventsAsDict(),
- r.tracks)
+ q.getReleaseById(album.release.id, include).tracks)
+
+ cover_art(str(i), album.release.asin)
def rip(device, trackcount, single_file):
if device == None:
device = '/dev/cdrom'
- argv = ['cdparanoia', '-d', device]
+ argv = ['cdparanoia', '-d', device, '1-' + str(trackcount)]
if single_file:
- argv.extend(['1-' + str(trackcount), 'wav'])
+ argv.append('wav')
else:
argv.append('-B')