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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
#! /usr/bin/env python
#
# Retrieve a release by ID and display it.
#
# Usage:
# python getrelease.py release-id
#
# Interesting releases IDs for testing:
# http://musicbrainz.org/release/290e10c5-7efc-4f60-ba2c-0dfc0208fbf5
# http://musicbrainz.org/release/fa9f1bdd-495f-41b9-8944-1a766da29120
#
# $Id: getrelease.py 206 2006-04-01 13:25:20Z matt $
#
import sys
import logging
import musicbrainz2.webservice as ws
import musicbrainz2.utils as u
logging.basicConfig()
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
if len(sys.argv) < 2:
print "Usage: getrelease.py release-id"
sys.exit(1)
q = ws.Query()
try:
# Additionally to the release itself, we want the server to include
# the release's artist, all release events, associated discs and
# the track list.
#
inc = ws.ReleaseIncludes(artist=True, releaseEvents=True,
discs=True, tracks=True)
release = q.getReleaseById(sys.argv[1], inc)
except ws.WebServiceError, e:
print 'Error:', e
sys.exit(1)
print "Id :", release.id
print "Title :", release.title
print "ASIN :", release.asin
print "Lang/Script :", release.textLanguage, '/', release.textScript
# Print the main artist of this release.
#
if release.artist:
print
print "Artist:"
print " Id :", release.artist.id
print " Name :", release.artist.name
print " SortName :", release.artist.sortName
# Release events are the dates and times when a release took place.
#
if len(release.releaseEvents) > 0:
print
print "Released (earliest: %s):" % release.getEarliestReleaseDate()
for event in release.releaseEvents:
print " %s %s" % (u.getCountryName(event.country), event.date)
if len(release.discs) > 0:
print
print "Discs:"
for disc in release.discs:
print " DiscId: %s (%d sectors)" % (disc.id, disc.sectors)
if len(release.tracks) > 0:
print
print "Tracks:"
for track in release.tracks:
print " Id :", track.id
print " Title :", track.title
print " Duration :", track.duration
print
# EOF
|