Top

spotify.v1.me.player.device module

from spotify.object.device import Device
from spotify.page import Page
from spotify.resource import Resource


class DeviceInstance(Resource):

    def __init__(self, version, properties):
        super(DeviceInstance, self).__init__(version)
        self._device = Device.from_json(properties)

    @property
    def id(self):
        return self._device.id

    @property
    def is_active(self):
        return self._device.is_active

    @property
    def is_restricted(self):
        return self._device.is_restricted

    @property
    def name(self):
        return self._device.name

    @property
    def type(self):
        return self._device.type

    @property
    def volume_percent(self):
        return self._device.volume_percent


class DeviceList(Resource):

    def list(self):
        response = self.version.request('GET', '/me/player/devices')
        return DevicePage(self.version, response.json(), 'devices')


class DevicePage(Page):

    @property
    def instance_class(self):
        return DeviceInstance

Classes

class DeviceInstance

class DeviceInstance(Resource):

    def __init__(self, version, properties):
        super(DeviceInstance, self).__init__(version)
        self._device = Device.from_json(properties)

    @property
    def id(self):
        return self._device.id

    @property
    def is_active(self):
        return self._device.is_active

    @property
    def is_restricted(self):
        return self._device.is_restricted

    @property
    def name(self):
        return self._device.name

    @property
    def type(self):
        return self._device.type

    @property
    def volume_percent(self):
        return self._device.volume_percent

Ancestors (in MRO)

Instance variables

var id

var is_active

var is_restricted

var name

var type

var volume_percent

Methods

def __init__(

self, version, properties)

def __init__(self, version, properties):
    super(DeviceInstance, self).__init__(version)
    self._device = Device.from_json(properties)

class DeviceList

class DeviceList(Resource):

    def list(self):
        response = self.version.request('GET', '/me/player/devices')
        return DevicePage(self.version, response.json(), 'devices')

Ancestors (in MRO)

  • DeviceList
  • spotify.resource.Resource
  • __builtin__.object

Methods

def __init__(

self, version)

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

def list(

self)

def list(self):
    response = self.version.request('GET', '/me/player/devices')
    return DevicePage(self.version, response.json(), 'devices')

class DevicePage

class DevicePage(Page):

    @property
    def instance_class(self):
        return DeviceInstance

Ancestors (in MRO)

  • DevicePage
  • spotify.page.Page
  • spotify.resource.Resource
  • __builtin__.object

Instance variables

var instance_class

Methods

def __init__(

self, version, data, key)

def __init__(self, version, data, key):
    super(Page, self).__init__(version)
    self._key = key
    self._items = iter([self.instance_class(self.version, item) for item in data.get(key, [])])
    del data[key]
    self._meta = data

def has_next_page(

self)

def has_next_page(self):
    return 'next' in self._meta and self._meta['next'] is not None

def next_page(

self)

def next_page(self):
    response = self.version.request(self._meta['next'])
    return self.__class__(
        self.version,
        response.json(),
        self._key
    )