1

Python musicbrainz2 ライブラリのドキュメントには、ディスク ID でリリースを検索する方法が記載されています。

>>> import musicbrainz2.webservice as ws
>>> q = ws.Query()
>>> filter = ws.ReleaseFilter(discId='8jJklE258v6GofIqDIrE.c5ejBE-')
>>> results = q.getReleases(filter=filter)
>>> results[0].score
100
>>> results[0].release.title
u'Under the Pink'

しかし、2 枚の CD の場合、2 枚の CD のディスク ID を検索すると、同じリリース (本来あるべきもの) が得られますが、トラックが異なります。これも当然ですが、クエリの結果からディスク番号を取得する方法がわかりません。どこかにありますか?「媒体」としてXMLにあると思います。

4

1 に答える 1

3

musicbrainz2パッケージは、その名前にもかかわらず、Web サービスのスキーマの非推奨バージョン 1 のみをサポートしているようです。これは、私が見つけた限り、メディア情報を提供しません。

解決策は、代わりにMusicBrainz NGS Web サービス (バージョン 2) をサポートするmusicbrainzngsパッケージを使用することです。次に、次のようなことを行う必要があります (パッケージのソースで提供されている例に基づいて)。

>>> from pprint import pprint
>>> import musicbrainzngs
>>> musicbrainzngs.set_useragent("application", "0.01", "http://example.com")
>>> pprint(musicbrainzngs.get_release_by_id("e94757ff-2655-4690-b369-4012beba6114",["media"]))
{'release': {'barcode': '9421021463277',
             'country': 'NZ',
             'date': '2008-07-04',
             'id': 'e94757ff-2655-4690-b369-4012beba6114',
             'medium-list': [{'format': 'CD',
                              'position': '1',
                              'track-list': []}],
             'quality': 'normal',
             'status': 'Official',
             'text-representation': {'language': 'eng', 'script': 'Latn'},
             'title': 'Affordable Pop Music'}}

ほら、medium-list情報あり!

于 2012-09-22T13:15:51.547 に答える