示例#1
0
def get_releases_for_release_group(release_group_id, includes=RELEASE_INCLUDES):
    with musicbrainz_lock:
        logger.debug('Fetching release for rgid {}'.format(release_group_id))
        search_results = musicbrainzngs.browse_releases(release_group=release_group_id,
                                                        release_type='album', includes=includes)['release-list']

        return [album_info(release) for release in search_results]
示例#2
0
 def test_ignored_media(self):
     config['match']['ignored_media'] = ['IGNORED1', 'IGNORED2']
     tracks = [self._make_track('TITLE ONE', 'ID ONE', 100.0 * 1000.0),
               self._make_track('TITLE TWO', 'ID TWO', 200.0 * 1000.0)]
     release = self._make_release(tracks=tracks, medium_format="IGNORED1")
     d = mb.album_info(release)
     self.assertEqual(len(d.tracks), 0)
示例#3
0
文件: test_mb.py 项目: Thynix/beets
 def test_parse_release_with_year(self):
     release = self._make_release('1984')
     d = mb.album_info(release)
     self.assertEqual(d.album, 'ALBUM TITLE')
     self.assertEqual(d.album_id, 'ALBUM ID')
     self.assertEqual(d.artist, 'ARTIST NAME')
     self.assertEqual(d.artist_id, 'ARTIST ID')
     self.assertEqual(d.year, 1984)
示例#4
0
文件: test_mb.py 项目: Lugoues/beets
 def test_parse_disctitle(self):
     tracks = [self._make_track('TITLE ONE', 'ID ONE', 100.0 * 1000.0),
               self._make_track('TITLE TWO', 'ID TWO', 200.0 * 1000.0)]
     release = self._make_release(None, tracks=tracks)
     d = mb.album_info(release)
     t = d.tracks
     self.assertEqual(t[0].disctitle, 'MEDIUM TITLE')
     self.assertEqual(t[1].disctitle, 'MEDIUM TITLE')
示例#5
0
文件: test_mb.py 项目: Lugoues/beets
 def test_parse_track_artist(self):
     tracks = [self._make_track('a', 'b', 1, True)]
     release = self._make_release(None, tracks=tracks)
     track = mb.album_info(release).tracks[0]
     self.assertEqual(track.artist, 'TRACK ARTIST NAME')
     self.assertEqual(track.artist_id, 'TRACK ARTIST ID')
     self.assertEqual(track.artist_sort, 'TRACK ARTIST SORT NAME')
     self.assertEqual(track.artist_credit, 'TRACK ARTIST CREDIT')
示例#6
0
文件: test_mb.py 项目: pkess/beets
 def test_parse_recording_artist(self):
     tracks = [self._make_track("a", "b", 1, True)]
     release = self._make_release(None, tracks=tracks)
     track = mb.album_info(release).tracks[0]
     self.assertEqual(track.artist, "RECORDING ARTIST NAME")
     self.assertEqual(track.artist_id, "RECORDING ARTIST ID")
     self.assertEqual(track.artist_sort, "RECORDING ARTIST SORT NAME")
     self.assertEqual(track.artist_credit, "RECORDING ARTIST CREDIT")
示例#7
0
文件: test_mb.py 项目: pkess/beets
 def test_track_artist_overrides_recording_artist(self):
     tracks = [self._make_track("a", "b", 1, True)]
     release = self._make_release(None, tracks=tracks, track_artist=True)
     track = mb.album_info(release).tracks[0]
     self.assertEqual(track.artist, "TRACK ARTIST NAME")
     self.assertEqual(track.artist_id, "TRACK ARTIST ID")
     self.assertEqual(track.artist_sort, "TRACK ARTIST SORT NAME")
     self.assertEqual(track.artist_credit, "TRACK ARTIST CREDIT")
示例#8
0
文件: test_mb.py 项目: pkess/beets
 def test_parse_media(self):
     tracks = [
         self._make_track("TITLE ONE", "ID ONE", 100.0 * 1000.0),
         self._make_track("TITLE TWO", "ID TWO", 200.0 * 1000.0),
     ]
     release = self._make_release(None, tracks=tracks)
     d = mb.album_info(release)
     self.assertEqual(d.media, "FORMAT")
示例#9
0
文件: test_mb.py 项目: Thynix/beets
    def test_parse_track_indices(self):
        tracks = [self._make_track('TITLE ONE', 'ID ONE', 100.0 * 1000.0),
                  self._make_track('TITLE TWO', 'ID TWO', 200.0 * 1000.0)]
        release = self._make_release(tracks=tracks)

        d = mb.album_info(release)
        t = d.tracks
        self.assertEqual(t[0].medium_index, 1)
        self.assertEqual(t[1].medium_index, 2)
示例#10
0
文件: test_mb.py 项目: pkess/beets
 def test_parse_disctitle(self):
     tracks = [
         self._make_track("TITLE ONE", "ID ONE", 100.0 * 1000.0),
         self._make_track("TITLE TWO", "ID TWO", 200.0 * 1000.0),
     ]
     release = self._make_release(None, tracks=tracks)
     d = mb.album_info(release)
     t = d.tracks
     self.assertEqual(t[0].disctitle, "MEDIUM TITLE")
     self.assertEqual(t[1].disctitle, "MEDIUM TITLE")
示例#11
0
文件: test_mb.py 项目: Lugoues/beets
    def test_parse_medium_numbers_single_medium(self):
        tracks = [self._make_track('TITLE ONE', 'ID ONE', 100.0 * 1000.0),
                  self._make_track('TITLE TWO', 'ID TWO', 200.0 * 1000.0)]
        release = self._make_release(tracks=tracks)

        d = mb.album_info(release)
        self.assertEqual(d.mediums, 1)
        t = d.tracks
        self.assertEqual(t[0].medium, 1)
        self.assertEqual(t[1].medium, 1)
示例#12
0
 def test_skip_data_track(self):
     tracks = [self._make_track('TITLE ONE', 'ID ONE', 100.0 * 1000.0),
               self._make_track('[data track]', 'ID DATA TRACK',
                                100.0 * 1000.0),
               self._make_track('TITLE TWO', 'ID TWO', 200.0 * 1000.0)]
     release = self._make_release(tracks=tracks)
     d = mb.album_info(release)
     self.assertEqual(len(d.tracks), 2)
     self.assertEqual(d.tracks[0].title, 'TITLE ONE')
     self.assertEqual(d.tracks[1].title, 'TITLE TWO')
示例#13
0
 def test_skip_video_tracks_by_default(self):
     tracks = [self._make_track('TITLE ONE', 'ID ONE', 100.0 * 1000.0),
               self._make_track('TITLE VIDEO', 'ID VIDEO', 100.0 * 1000.0,
                                False, True),
               self._make_track('TITLE TWO', 'ID TWO', 200.0 * 1000.0)]
     release = self._make_release(tracks=tracks)
     d = mb.album_info(release)
     self.assertEqual(len(d.tracks), 2)
     self.assertEqual(d.tracks[0].title, 'TITLE ONE')
     self.assertEqual(d.tracks[1].title, 'TITLE TWO')
示例#14
0
文件: test_mb.py 项目: pkess/beets
 def test_parse_release_with_year(self):
     release = self._make_release("1984")
     d = mb.album_info(release)
     self.assertEqual(d.album, "ALBUM TITLE")
     self.assertEqual(d.album_id, "ALBUM ID")
     self.assertEqual(d.artist, "ARTIST NAME")
     self.assertEqual(d.artist_id, "ARTIST ID")
     self.assertEqual(d.original_year, 1984)
     self.assertEqual(d.year, 3001)
     self.assertEqual(d.artist_credit, "ARTIST CREDIT")
示例#15
0
 def test_no_skip_video_tracks_if_configured(self):
     config['match']['ignore_video_tracks'] = False
     tracks = [self._make_track('TITLE ONE', 'ID ONE', 100.0 * 1000.0),
               self._make_track('TITLE VIDEO', 'ID VIDEO', 100.0 * 1000.0,
                                False, True),
               self._make_track('TITLE TWO', 'ID TWO', 200.0 * 1000.0)]
     release = self._make_release(tracks=tracks)
     d = mb.album_info(release)
     self.assertEqual(len(d.tracks), 3)
     self.assertEqual(d.tracks[0].title, 'TITLE ONE')
     self.assertEqual(d.tracks[1].title, 'TITLE VIDEO')
     self.assertEqual(d.tracks[2].title, 'TITLE TWO')
示例#16
0
文件: test_mb.py 项目: Lugoues/beets
    def test_parse_tracks(self):
        tracks = [self._make_track('TITLE ONE', 'ID ONE', 100.0 * 1000.0),
                  self._make_track('TITLE TWO', 'ID TWO', 200.0 * 1000.0)]
        release = self._make_release(tracks=tracks)

        d = mb.album_info(release)
        t = d.tracks
        self.assertEqual(len(t), 2)
        self.assertEqual(t[0].title, 'TITLE ONE')
        self.assertEqual(t[0].track_id, 'ID ONE')
        self.assertEqual(t[0].length, 100.0)
        self.assertEqual(t[1].title, 'TITLE TWO')
        self.assertEqual(t[1].track_id, 'ID TWO')
        self.assertEqual(t[1].length, 200.0)
示例#17
0
文件: test_mb.py 项目: pkess/beets
    def test_parse_tracks(self):
        tracks = [
            self._make_track("TITLE ONE", "ID ONE", 100.0 * 1000.0),
            self._make_track("TITLE TWO", "ID TWO", 200.0 * 1000.0),
        ]
        release = self._make_release(tracks=tracks)

        d = mb.album_info(release)
        t = d.tracks
        self.assertEqual(len(t), 2)
        self.assertEqual(t[0].title, "TITLE ONE")
        self.assertEqual(t[0].track_id, "ID ONE")
        self.assertEqual(t[0].length, 100.0)
        self.assertEqual(t[1].title, "TITLE TWO")
        self.assertEqual(t[1].track_id, "ID TWO")
        self.assertEqual(t[1].length, 200.0)
示例#18
0
文件: test_mb.py 项目: pkess/beets
    def test_parse_medium_numbers_two_mediums(self):
        tracks = [
            self._make_track("TITLE ONE", "ID ONE", 100.0 * 1000.0),
            self._make_track("TITLE TWO", "ID TWO", 200.0 * 1000.0),
        ]
        release = self._make_release(tracks=[tracks[0]])
        second_track_list = [{"recording": tracks[1], "position": "1"}]
        release["medium-list"].append({"position": "2", "track-list": second_track_list})

        d = mb.album_info(release)
        self.assertEqual(d.mediums, 2)
        t = d.tracks
        self.assertEqual(t[0].medium, 1)
        self.assertEqual(t[0].medium_index, 1)
        self.assertEqual(t[0].index, 1)
        self.assertEqual(t[1].medium, 2)
        self.assertEqual(t[1].medium_index, 1)
        self.assertEqual(t[1].index, 2)
示例#19
0
文件: test_mb.py 项目: Thynix/beets
    def test_parse_medium_numbers_two_mediums(self):
        tracks = [self._make_track('TITLE ONE', 'ID ONE', 100.0 * 1000.0),
                  self._make_track('TITLE TWO', 'ID TWO', 200.0 * 1000.0)]
        release = self._make_release(tracks=[tracks[0]])
        second_track_list = [{
            'recording': tracks[1],
            'position': '1',
        }]
        release['medium-list'].append({
            'position': '2',
            'track-list': second_track_list,
        })

        d = mb.album_info(release)
        self.assertEqual(d.mediums, 2)
        t = d.tracks
        self.assertEqual(t[0].medium, 1)
        self.assertEqual(t[0].medium_index, 1)
        self.assertEqual(t[1].medium, 2)
        self.assertEqual(t[1].medium_index, 1)
示例#20
0
 def test_parse_disambig(self):
     release = self._make_release(None)
     d = mb.album_info(release)
     self.assertEqual(d.albumdisambig,
                      'RG_DISAMBIGUATION, R_DISAMBIGUATION')
示例#21
0
 def test_parse_status(self):
     release = self._make_release(None)
     d = mb.album_info(release)
     self.assertEqual(d.albumstatus, 'STATUS')
示例#22
0
 def test_parse_catalognum(self):
     release = self._make_release(None)
     d = mb.album_info(release)
     self.assertEqual(d.catalognum, 'CATALOG NUMBER')
示例#23
0
 def test_missing_language(self):
     release = self._make_release(None)
     del release['text-representation']['language']
     d = mb.album_info(release)
     self.assertEqual(d.language, None)
示例#24
0
 def test_parse_releasegroupid(self):
     release = self._make_release(None)
     d = mb.album_info(release)
     self.assertEqual(d.releasegroup_id, 'RELEASE GROUP ID')
示例#25
0
 def test_parse_asin(self):
     release = self._make_release(None)
     d = mb.album_info(release)
     self.assertEqual(d.asin, 'ALBUM ASIN')
示例#26
0
 def test_parse_textrepr(self):
     release = self._make_release(None)
     d = mb.album_info(release)
     self.assertEqual(d.script, 'SCRIPT')
     self.assertEqual(d.language, 'LANGUAGE')
示例#27
0
 def test_data_source(self):
     release = self._make_release()
     d = mb.album_info(release)
     self.assertEqual(d.data_source, 'MusicBrainz')
示例#28
0
文件: test_mb.py 项目: Lugoues/beets
 def test_parse_status(self):
     release = self._make_release(None)
     d = mb.album_info(release)
     self.assertEqual(d.albumstatus, 'STATUS')
示例#29
0
文件: test_mb.py 项目: Lugoues/beets
 def test_parse_disambig(self):
     release = self._make_release(None)
     d = mb.album_info(release)
     self.assertEqual(d.albumdisambig,
                      'RG_DISAMBIGUATION, R_DISAMBIGUATION')
示例#30
0
文件: test_mb.py 项目: Lugoues/beets
 def test_parse_textrepr(self):
     release = self._make_release(None)
     d = mb.album_info(release)
     self.assertEqual(d.script, 'SCRIPT')
     self.assertEqual(d.language, 'LANGUAGE')
示例#31
0
文件: test_mb.py 项目: Lugoues/beets
 def test_parse_asin(self):
     release = self._make_release(None)
     d = mb.album_info(release)
     self.assertEqual(d.asin, 'ALBUM ASIN')
示例#32
0
文件: test_mb.py 项目: Lugoues/beets
 def test_parse_artist_sort_name(self):
     release = self._make_release(None)
     d = mb.album_info(release)
     self.assertEqual(d.artist_sort, 'ARTIST SORT NAME')
示例#33
0
 def test_parse_country(self):
     release = self._make_release(None)
     d = mb.album_info(release)
     self.assertEqual(d.country, 'COUNTRY')
示例#34
0
 def test_parse_artist_sort_name(self):
     release = self._make_release(None)
     d = mb.album_info(release)
     self.assertEqual(d.artist_sort, 'ARTIST SORT NAME')
示例#35
0
 def test_parse_release_full_date(self):
     release = self._make_release('1987-03-31')
     d = mb.album_info(release)
     self.assertEqual(d.original_year, 1987)
     self.assertEqual(d.original_month, 3)
     self.assertEqual(d.original_day, 31)
示例#36
0
 def test_parse_release_type(self):
     release = self._make_release('1984')
     d = mb.album_info(release)
     self.assertEqual(d.albumtype, 'album')
示例#37
0
文件: test_mb.py 项目: Lugoues/beets
 def test_detect_various_artists(self):
     release = self._make_release(None)
     release['artist-credit'][0]['artist']['id'] = \
         mb.VARIOUS_ARTISTS_ID
     d = mb.album_info(release)
     self.assertTrue(d.va)
示例#38
0
 def test_parse_release_year_month_only(self):
     release = self._make_release('1987-03')
     d = mb.album_info(release)
     self.assertEqual(d.original_year, 1987)
     self.assertEqual(d.original_month, 3)
示例#39
0
文件: test_mb.py 项目: Lugoues/beets
 def test_parse_releasegroupid(self):
     release = self._make_release(None)
     d = mb.album_info(release)
     self.assertEqual(d.releasegroup_id, 'RELEASE GROUP ID')
示例#40
0
 def test_no_durations(self):
     tracks = [self._make_track('TITLE', 'ID', None)]
     release = self._make_release(tracks=tracks)
     d = mb.album_info(release)
     self.assertEqual(d.tracks[0].length, None)
示例#41
0
文件: test_mb.py 项目: Lugoues/beets
 def test_parse_catalognum(self):
     release = self._make_release(None)
     d = mb.album_info(release)
     self.assertEqual(d.catalognum, 'CATALOG NUMBER')
示例#42
0
 def test_track_length_overrides_recording_length(self):
     tracks = [self._make_track('TITLE', 'ID', 1.0 * 1000.0)]
     release = self._make_release(tracks=tracks, track_length=2.0 * 1000.0)
     d = mb.album_info(release)
     self.assertEqual(d.tracks[0].length, 2.0)
示例#43
0
文件: test_mb.py 项目: Lugoues/beets
 def test_parse_country(self):
     release = self._make_release(None)
     d = mb.album_info(release)
     self.assertEqual(d.country, 'COUNTRY')
示例#44
0
文件: test_mb.py 项目: Lugoues/beets
 def test_missing_language(self):
     release = self._make_release(None)
     del release['text-representation']['language']
     d = mb.album_info(release)
     self.assertEqual(d.language, None)
示例#45
0
文件: test_mb.py 项目: Lugoues/beets
 def test_parse_media(self):
     tracks = [self._make_track('TITLE ONE', 'ID ONE', 100.0 * 1000.0),
               self._make_track('TITLE TWO', 'ID TWO', 200.0 * 1000.0)]
     release = self._make_release(None, tracks=tracks)
     d = mb.album_info(release)
     self.assertEqual(d.media, 'FORMAT')
示例#46
0
 def test_detect_various_artists(self):
     release = self._make_release(None)
     release['artist-credit'][0]['artist']['id'] = \
         mb.VARIOUS_ARTISTS_ID
     d = mb.album_info(release)
     self.assertTrue(d.va)
示例#47
0
 def test_no_release_date(self):
     release = self._make_release(None)
     d = mb.album_info(release)
     self.assertFalse(d.original_year)
     self.assertFalse(d.original_month)
     self.assertFalse(d.original_day)
示例#48
0
文件: test_mb.py 项目: tux-00/beets
 def test_parse_media(self):
     tracks = [self._make_track('TITLE ONE', 'ID ONE', 100.0 * 1000.0),
               self._make_track('TITLE TWO', 'ID TWO', 200.0 * 1000.0)]
     release = self._make_release(None, tracks=tracks)
     d = mb.album_info(release)
     self.assertEqual(d.media, 'FORMAT')
示例#49
0
 def test_various_artists_defaults_false(self):
     release = self._make_release(None)
     d = mb.album_info(release)
     self.assertFalse(d.va)
示例#50
0
 def test_no_skip_dvd_audio(self):
     tracks = [self._make_track('TITLE ONE', 'ID ONE', 100.0 * 1000.0),
               self._make_track('TITLE TWO', 'ID TWO', 200.0 * 1000.0)]
     release = self._make_release(tracks=tracks, medium_format="DVD-Audio")
     d = mb.album_info(release)
     self.assertEqual(len(d.tracks), 2)