Beispiel #1
0
    def do(self, args):
        try:
            discId = unicode(args[0])
        except IndexError:
            self.stdout.write('Please specify a MusicBrainz disc id.\n')
            return 3

        from morituri.common import mbngs
        metadatas = mbngs.musicbrainz(discId,
            record=self.getRootCommand().record)

        self.stdout.write('%d releases\n' % len(metadatas))
        for i, md in enumerate(metadatas):
            self.stdout.write('- Release %d:\n' % (i + 1, ))
            self.stdout.write('    Artist: %s\n' % md.artist.encode('utf-8'))
            self.stdout.write('    Title:  %s\n' % md.title.encode('utf-8'))
            self.stdout.write('    Type:   %s\n' % md.releaseType.encode('utf-8'))
            self.stdout.write('    URL: %s\n' % md.url)
            self.stdout.write('    Tracks: %d\n' % len(md.tracks))
            if md.catalogNumber:
                self.stdout.write('    Cat no: %s\n' % md.catalogNumber)
            if md.barcode:
                self.stdout.write('   Barcode: %s\n' % md.barcode)

            for j, track in enumerate(md.tracks):
                self.stdout.write('      Track %2d: %s - %s\n' % (
                    j + 1, track.artist.encode('utf-8'),
                    track.title.encode('utf-8')))
Beispiel #2
0
    def do(self, args):
        try:
            discId = unicode(args[0])
        except IndexError:
            self.stdout.write('Please specify a MusicBrainz disc id.\n')
            return 3

        from morituri.common import mbngs
        metadatas = mbngs.musicbrainz(discId,
                                      record=self.getRootCommand().record)

        self.stdout.write('%d releases\n' % len(metadatas))
        for i, md in enumerate(metadatas):
            self.stdout.write('- Release %d:\n' % (i + 1, ))
            self.stdout.write('    Artist: %s\n' % md.artist.encode('utf-8'))
            self.stdout.write('    Title:  %s\n' % md.title.encode('utf-8'))
            self.stdout.write('    Type:   %s\n' %
                              md.releaseType.encode('utf-8'))
            self.stdout.write('    URL: %s\n' % md.url)
            self.stdout.write('    Tracks: %d\n' % len(md.tracks))
            if md.catalogNumber:
                self.stdout.write('    Cat no: %s\n' % md.catalogNumber)
            if md.barcode:
                self.stdout.write('   Barcode: %s\n' % md.barcode)

            for j, track in enumerate(md.tracks):
                self.stdout.write('      Track %2d: %s - %s\n' %
                                  (j + 1, track.artist.encode('utf-8'),
                                   track.title.encode('utf-8')))
Beispiel #3
0
    def getMusicBrainz(self,
                       ittoc,
                       mbdiscid,
                       release=None,
                       country=None,
                       prompt=False):
        """
        @type  ittoc: L{morituri.image.table.Table}
        """
        # look up disc on musicbrainz
        self._stdout.write(
            'Disc duration: %s, %d audio tracks\n' % (common.formatTime(
                ittoc.duration() / 1000.0), ittoc.getAudioTracks()))
        self.debug('MusicBrainz submit url: %r',
                   ittoc.getMusicBrainzSubmitURL())
        ret = None

        metadatas = None
        e = None

        for _ in range(0, 4):
            try:
                metadatas = mbngs.musicbrainz(mbdiscid,
                                              country=country,
                                              record=self._record)
            except mbngs.NotFoundException, e:
                break
            except musicbrainz.NetworkError, e:
                self._stdout.write("Warning: network error: %r\n" % (e, ))
                break
Beispiel #4
0
    def getMusicBrainz(self, ittoc, mbdiscid, release=None, country=None, prompt=False):
        """
        @type  ittoc: L{morituri.image.table.Table}
        """
        # look up disc on musicbrainz
        self._stdout.write('Disc duration: %s, %d audio tracks\n' % (
            common.formatTime(ittoc.duration() / 1000.0),
            ittoc.getAudioTracks()))
        logger.debug('MusicBrainz submit url: %r',
            ittoc.getMusicBrainzSubmitURL())
        ret = None

        metadatas = None
        e = None

        for _ in range(0, 4):
            try:
                metadatas = mbngs.musicbrainz(mbdiscid,
                    country=country,
                    record=self._record)
            except mbngs.NotFoundException, e:
                break
            except musicbrainzngs.NetworkError, e:
                self._stdout.write("Warning: network error: %r\n" % (e, ))
                break
Beispiel #5
0
    def getMusicBrainz(self, ittoc, mbdiscid, release=None):
        """
        @type  ittoc: L{morituri.image.table.Table}
        """
        # look up disc on musicbrainz
        self._stdout.write('Disc duration: %s, %d audio tracks\n' % (
            common.formatTime(ittoc.duration() / 1000.0),
            ittoc.getAudioTracks()))
        self.debug('MusicBrainz submit url: %r',
            ittoc.getMusicBrainzSubmitURL())
        ret = None

        metadatas = None
        e = None

        for _ in range(0, 4):
            try:
                metadatas = mbngs.musicbrainz(mbdiscid,
                    record=self._record)
            except mbngs.NotFoundException, e:
                break
            except mbngs.MusicBrainzException, e:
                self._stdout.write("Warning: %r\n" % (e, ))
                time.sleep(5)
                continue