Example #1
0
class App(object):
    def __init__(self):
        self.sp = Spotify()

    def run(self):
        @self.sp.login(os.environ['USERNAME'], os.environ['PASSWORD'])
        def on_login():
            self.sp.search('daft punk', count=7, callback=self.on_search)

    def on_search(self, result):
        # Artists
        print 'artists (%s)' % result.artists_total

        for artist in result.artists:
            print '\t[%s] "%s"' % (artist.uri, artist.name)

            if not artist.portraits:
                continue

            for portrait in artist.portraits:
                print '\t\t', portrait.file_url

        # Albums
        print 'albums (%s)' % result.albums_total

        for album in result.albums:
            print '\t[%s] "%s" - %s' % (album.uri, album.name, ', '.join(
                [ar.name for ar in album.artists]))

            if not album.covers:
                continue

            for cover in album.covers:
                print '\t\t', cover.file_url

        # Tracks
        print 'tracks (%s)' % result.tracks_total

        for track in result.tracks:
            print '\t[%s] "%s" - %s' % (track.uri, track.name, ', '.join(
                [ar.name for ar in track.artists if ar.name]))

        # Playlists
        print 'playlists (%s)' % result.playlists_total

        for playlist in result.playlists:
            print '\t[%s] "%s"' % (playlist.uri, playlist.name)
Example #2
0
class App(object):
    def __init__(self):
        self.sp = Spotify()

    def run(self):
        @self.sp.login(os.environ['USERNAME'], os.environ['PASSWORD'])
        def on_login():
            self.sp.search('daft punk', count=20, callback=self.on_search)

    def on_search(self, result):
        # Artists
        if result.artists:
            print 'artists (%s)' % len(result.artists)

            def on_artists(artists):
                for artist in artists:
                    print '\t[%s] "%s"' % (artist.uri, artist.name)

            self.sp.metadata([ar.uri for ar in result.artists], on_artists)

        # Albums
        if result.albums:
            print 'albums (%s)' % len(result.albums)

            def on_albums(albums):
                for album in albums:
                    print '\t[%s] "%s" - %s' % (album.uri, album.name, ', '.join([ar.name for ar in album.artists]))

            self.sp.metadata([al.uri for al in result.albums], on_albums)

        # Tracks
        if result.tracks:
            print 'tracks (%s)' % len(result.tracks)

            def on_tracks(tracks):
                for track in tracks:
                    print '\t[%s] "%s" - %s' % (track.uri, track.name, ', '.join([ar.name for ar in track.artists if ar.name]))

            self.sp.metadata([tr.uri for tr in result.tracks], on_tracks)

        # Playlists
        if result.playlists:
            print 'playlists (%s)' % len(result.playlists)

            for playlist in result.playlists:
                print '\t[%s] "%s"' % (playlist.uri, playlist.name)
Example #3
0
class App(object):
    def __init__(self):
        self.sp = Spotify()

    def run(self):
        @self.sp.login(os.environ["USERNAME"], os.environ["PASSWORD"])
        def on_login():
            self.sp.search("daft punk", count=7, callback=self.on_search)

    def on_search(self, result):
        # Artists
        print "artists (%s)" % result.artists_total

        for artist in result.artists:
            print '\t[%s] "%s"' % (artist.uri, artist.name)

            if not artist.portraits:
                continue

            for portrait in artist.portraits:
                print "\t\t", portrait.file_url

        # Albums
        print "albums (%s)" % result.albums_total

        for album in result.albums:
            print '\t[%s] "%s" - %s' % (album.uri, album.name, ", ".join([ar.name for ar in album.artists]))

            if not album.covers:
                continue

            for cover in album.covers:
                print "\t\t", cover.file_url

        # Tracks
        print "tracks (%s)" % result.tracks_total

        for track in result.tracks:
            print '\t[%s] "%s" - %s' % (track.uri, track.name, ", ".join([ar.name for ar in track.artists if ar.name]))

        # Playlists
        print "playlists (%s)" % result.playlists_total

        for playlist in result.playlists:
            print '\t[%s] "%s"' % (playlist.uri, playlist.name)
Example #4
0
class App(object):
    def __init__(self):
        self.sp = Spotify()
        self.logged_in = False
        self.return_only = ["tracks"]

    def run(self, uname, pword):
        # @self.sp.login(os.environ['USERNAME'], os.environ['PASSWORD'])
        @self.sp.login(uname, pword)
        def on_login():
            self.sp.search('daft punk', count=7, callback=self.on_search)
            self.logged_in = True

    def do_search(self, sterm):
        global searching
        searching = True
        try:
            str_sterm = str(sterm)
        except UnicodeEncodeError as _uee:
            str_sterm = "".join([c for c in sterm if curses.ascii.isascii(c)])

        str_sterm = str(str_sterm)

        assert isinstance(str_sterm, str)

        self.sp.search(str_sterm, count=1, callback=self.on_search)

    def on_search(self, result):
        global searching
        # Artists
        if not self.return_only or "artists" in self.return_only:
            print 'artists (%s)' % result.artists_total

            for artist in result.artists:
                print '\t[%s] "%s"' % (artist.uri, artist.name)

                if not artist.portraits:
                    continue

                for portrait in artist.portraits:
                    print '\t\t', portrait.file_url

        # Albums
        if not self.return_only or "albums" in self.return_only:
            print 'albums (%s)' % result.albums_total

            for album in result.albums:
                print '\t[%s] "%s" - %s' % (album.uri, album.name, ', '.join(
                    [ar.name for ar in album.artists]))

                if not album.covers:
                    continue

                for cover in album.covers:
                    print '\t\t', cover.file_url

        # Tracks
        if not self.return_only or "tracks" in self.return_only:
            #print 'tracks (%s)' % result.tracks_total

            for track in result.tracks:
                print '\t%s [%s] "%s" - %s' % (uri_to_url(
                    track.uri), track.uri, track.name, ', '.join(
                        [ar.name for ar in track.artists if ar.name]))

        # Playlists
        if not self.return_only or "playlists" in self.return_only:
            print 'playlists (%s)' % result.playlists_total

            for playlist in result.playlists:
                print '\t[%s] "%s"' % (playlist.uri, playlist.name)
        searching = False
Example #5
0
class App(object):
    def __init__(self):
        self.sp = Spotify()
        self.logged_in = False
        self.return_only = ["tracks"]

    def run(self, uname, pword):
        # @self.sp.login(os.environ['USERNAME'], os.environ['PASSWORD'])
        @self.sp.login(uname, pword)
        def on_login():
            self.sp.search('daft punk', count=7, callback=self.on_search)
            self.logged_in = True

    def do_search(self, sterm):
        global searching
        searching = True
        try:
            str_sterm = str(sterm)
        except UnicodeEncodeError as _uee:
            str_sterm = "".join([c for c in sterm if curses.ascii.isascii(c)])

        str_sterm = str(str_sterm)

        assert isinstance(str_sterm, str)

        self.sp.search(str_sterm, count=1, callback=self.on_search)

    def on_search(self, result):
        global searching
        # Artists
        if not self.return_only or "artists" in self.return_only:
            print 'artists (%s)' % result.artists_total

            for artist in result.artists:
                print '\t[%s] "%s"' % (artist.uri, artist.name)

                if not artist.portraits:
                    continue

                for portrait in artist.portraits:
                    print '\t\t', portrait.file_url

        # Albums
        if not self.return_only or "albums" in self.return_only:
            print 'albums (%s)' % result.albums_total

            for album in result.albums:
                print '\t[%s] "%s" - %s' % (album.uri, album.name, ', '.join([ar.name for ar in album.artists]))

                if not album.covers:
                    continue

                for cover in album.covers:
                    print '\t\t', cover.file_url

        # Tracks
        if not self.return_only or "tracks" in self.return_only:
            #print 'tracks (%s)' % result.tracks_total

            for track in result.tracks:
                print '\t%s [%s] "%s" - %s' % (uri_to_url(track.uri), track.uri, track.name,
                                                ', '.join([ar.name for ar in track.artists if ar.name]))

        # Playlists
        if not self.return_only or "playlists" in self.return_only:
            print 'playlists (%s)' % result.playlists_total

            for playlist in result.playlists:
                print '\t[%s] "%s"' % (playlist.uri, playlist.name)
        searching = False