Top

spotify.v1.search module

from spotify import values
from spotify.resource import Resource, Instance


class SearchContext(Resource):

    def get(self, q, types, market=values.UNSET, limit=values.UNSET, offset=values.UNSET):
        params = values.of({
            'q': q,
            'type': ','.join(types),
            'market': market,
            'limit': limit,
            'offset': offset
        })

        response = self.version.request('GET', '/search', params=params)
        return SearchInstance(self.version, response.json())


class SearchInstance(Instance):

    @property
    def albums(self):
        from spotify.v1.album import AlbumPage
        return AlbumPage(self.version, self.property('albums', {}), 'items')

    @property
    def artists(self):
        from spotify.v1.artist import ArtistPage
        return ArtistPage(self.version, self.property('artists', {}), 'items')

    @property
    def playlists(self):
        from spotify.v1.user.playlist import PlaylistPage
        return PlaylistPage(self.version, self.property('playlists', {}), 'items')

    @property
    def tracks(self):
        from spotify.v1.track import TrackPage
        return TrackPage(self.version, self.property('tracks', {}), 'items')

Classes

class SearchContext

class SearchContext(Resource):

    def get(self, q, types, market=values.UNSET, limit=values.UNSET, offset=values.UNSET):
        params = values.of({
            'q': q,
            'type': ','.join(types),
            'market': market,
            'limit': limit,
            'offset': offset
        })

        response = self.version.request('GET', '/search', params=params)
        return SearchInstance(self.version, response.json())

Ancestors (in MRO)

Methods

def __init__(

self, version)

def __init__(self, version):
    self.version = version

def get(

self, q, types, market='UNSET', limit='UNSET', offset='UNSET')

def get(self, q, types, market=values.UNSET, limit=values.UNSET, offset=values.UNSET):
    params = values.of({
        'q': q,
        'type': ','.join(types),
        'market': market,
        'limit': limit,
        'offset': offset
    })
    response = self.version.request('GET', '/search', params=params)
    return SearchInstance(self.version, response.json())

class SearchInstance

class SearchInstance(Instance):

    @property
    def albums(self):
        from spotify.v1.album import AlbumPage
        return AlbumPage(self.version, self.property('albums', {}), 'items')

    @property
    def artists(self):
        from spotify.v1.artist import ArtistPage
        return ArtistPage(self.version, self.property('artists', {}), 'items')

    @property
    def playlists(self):
        from spotify.v1.user.playlist import PlaylistPage
        return PlaylistPage(self.version, self.property('playlists', {}), 'items')

    @property
    def tracks(self):
        from spotify.v1.track import TrackPage
        return TrackPage(self.version, self.property('tracks', {}), 'items')

Ancestors (in MRO)

  • SearchInstance
  • spotify.resource.Instance
  • spotify.resource.Resource
  • __builtin__.object

Instance variables

var albums

var artists

var playlists

var tracks

Methods

def __init__(

self, version, properties)

def __init__(self, version, properties):
    super(Instance, self).__init__(version)
    self.properties = properties

def property(

self, name, default=None)

def property(self, name, default=None):
    return self.properties.get(name, default)