spotify.v1.me.player module
from spotify import values
from spotify.object.context import Context
from spotify.object.device import Device
from spotify.resource import Resource, Instance
from spotify.v1.me.player.currently_playing import CurrentlyPlayingContext
from spotify.v1.me.player.device import DeviceList
from spotify.v1.me.player.recently_played import RecentlyPlayedList
class PlayerContext(Resource):
def __init__(self, version):
super(PlayerContext, self).__init__(version)
self._currently_playing = None
self._devices = None
self._recently_played = None
@property
def currently_playing(self):
if not self._currently_playing:
self._currently_playing = CurrentlyPlayingContext(self.version)
return self._currently_playing
@property
def devices(self):
if not self._devices:
self._devices = DeviceList(self.version)
return self._devices
@property
def recently_played(self):
if not self._recently_played:
self._recently_played = RecentlyPlayedList(self.version)
return self._recently_played
def fetch(self, market=values.UNSET):
params = values.of({
'market': market
})
response = self.version.request('GET', '/me/player', params=params)
return PlayerInstance(self.version, response.json())
def transfer(self, device_ids, play=values.UNSET):
data = values.of({
'device_ids': device_ids,
'play': play
})
response = self.version.request('PUT', '/me/player', data=data)
return response.status_code == 204
def play(self, device_id=values.UNSET, context_uri=values.UNSET, uris=values.UNSET, offset=values.UNSET):
params = values.of({
'device_id': device_id
})
data = values.of({
'context_uri': context_uri,
'uris': uris,
'offset': offset
})
response = self.version.request('PUT', '/me/player/play', params=params, data=data)
return response.status_code == 204
def pause(self, device_id=values.UNSET):
params = values.of({
'device_id': device_id
})
response = self.version.request('PUT', '/me/player/pause', params=params)
return response.status_code == 204
def next_(self, device_id=values.UNSET):
params = values.of({
'device_id': device_id
})
response = self.version.request('POST', '/me/player/next', params=params)
return response.status_code == 204
def previous(self, device_id=values.UNSET):
params = values.of({
'device_id': device_id
})
response = self.version.request('POST', '/me/player/previous', params=params)
return response.status_code == 204
def seek(self, position_ms, device_id=values.UNSET):
params = values.of({
'position_ms': position_ms,
'device_id': device_id
})
response = self.version.request('PUT', '/me/player/previous', params=params)
return response.status_code == 204
def repeat(self, state, device_id=values.UNSET):
params = values.of({
'state': state,
'device_id': device_id
})
response = self.version.request('PUT', '/me/player/repeat', params=params)
return response.status_code == 204
def volume(self, volume_percent, device_id=values.UNSET):
params = values.of({
'volume_percent': volume_percent,
'device_id': device_id
})
response = self.version.request('PUT', '/me/player/volume', params=params)
return response.status_code == 204
def shuffle(self, state, device_id=values.UNSET):
params = values.of({
'state': state,
'device_id': device_id
})
response = self.version.request('PUT', '/me/player/shuffle', params=params)
return response.status_code == 204
class PlayerInstance(Instance):
def __init__(self, version, properties):
super(PlayerInstance, self).__init__(version, properties)
self._context = PlayerContext(self.version)
@property
def timestamp(self):
return self.property('timestamp')
@property
def device(self):
return Device.from_json(self.property('device'))
@property
def progress_ms(self):
return self.property('progress_ms')
@property
def is_playing(self):
return self.property('is_playing')
@property
def item(self):
from spotify.v1.track import TrackInstance
return TrackInstance(self.version, self.property('item'))
@property
def shuffle_state(self):
return self.property('shuffle_state')
@property
def repeat_state(self):
return self.property('repeat_state')
@property
def context(self):
return Context.from_json(self.property('context'))
@property
def currently_playing(self):
return self._context.currently_playing
@property
def devices(self):
return self._context.devices
@property
def recently_played(self):
return self._context.recently_played
@property
def transfer(self):
return self._context.transfer
@property
def play(self):
return self._context.play
@property
def pause(self):
return self._context.pause
@property
def next_(self):
return self._context.next_
@property
def previous(self):
return self._context.previous
@property
def seek(self):
return self._context.seek
@property
def volume(self):
return self._context.volume
@property
def repeat(self):
return self._context.repeat
@property
def shuffle(self):
return self._context.shuffle
Classes
class PlayerContext
class PlayerContext(Resource):
def __init__(self, version):
super(PlayerContext, self).__init__(version)
self._currently_playing = None
self._devices = None
self._recently_played = None
@property
def currently_playing(self):
if not self._currently_playing:
self._currently_playing = CurrentlyPlayingContext(self.version)
return self._currently_playing
@property
def devices(self):
if not self._devices:
self._devices = DeviceList(self.version)
return self._devices
@property
def recently_played(self):
if not self._recently_played:
self._recently_played = RecentlyPlayedList(self.version)
return self._recently_played
def fetch(self, market=values.UNSET):
params = values.of({
'market': market
})
response = self.version.request('GET', '/me/player', params=params)
return PlayerInstance(self.version, response.json())
def transfer(self, device_ids, play=values.UNSET):
data = values.of({
'device_ids': device_ids,
'play': play
})
response = self.version.request('PUT', '/me/player', data=data)
return response.status_code == 204
def play(self, device_id=values.UNSET, context_uri=values.UNSET, uris=values.UNSET, offset=values.UNSET):
params = values.of({
'device_id': device_id
})
data = values.of({
'context_uri': context_uri,
'uris': uris,
'offset': offset
})
response = self.version.request('PUT', '/me/player/play', params=params, data=data)
return response.status_code == 204
def pause(self, device_id=values.UNSET):
params = values.of({
'device_id': device_id
})
response = self.version.request('PUT', '/me/player/pause', params=params)
return response.status_code == 204
def next_(self, device_id=values.UNSET):
params = values.of({
'device_id': device_id
})
response = self.version.request('POST', '/me/player/next', params=params)
return response.status_code == 204
def previous(self, device_id=values.UNSET):
params = values.of({
'device_id': device_id
})
response = self.version.request('POST', '/me/player/previous', params=params)
return response.status_code == 204
def seek(self, position_ms, device_id=values.UNSET):
params = values.of({
'position_ms': position_ms,
'device_id': device_id
})
response = self.version.request('PUT', '/me/player/previous', params=params)
return response.status_code == 204
def repeat(self, state, device_id=values.UNSET):
params = values.of({
'state': state,
'device_id': device_id
})
response = self.version.request('PUT', '/me/player/repeat', params=params)
return response.status_code == 204
def volume(self, volume_percent, device_id=values.UNSET):
params = values.of({
'volume_percent': volume_percent,
'device_id': device_id
})
response = self.version.request('PUT', '/me/player/volume', params=params)
return response.status_code == 204
def shuffle(self, state, device_id=values.UNSET):
params = values.of({
'state': state,
'device_id': device_id
})
response = self.version.request('PUT', '/me/player/shuffle', params=params)
return response.status_code == 204
Ancestors (in MRO)
- PlayerContext
- spotify.resource.Resource
- __builtin__.object
Instance variables
var currently_playing
var devices
var recently_played
Methods
def __init__(
self, version)
def __init__(self, version):
super(PlayerContext, self).__init__(version)
self._currently_playing = None
self._devices = None
self._recently_played = None
def fetch(
self, market='UNSET')
def fetch(self, market=values.UNSET):
params = values.of({
'market': market
})
response = self.version.request('GET', '/me/player', params=params)
return PlayerInstance(self.version, response.json())
def next_(
self, device_id='UNSET')
def next_(self, device_id=values.UNSET):
params = values.of({
'device_id': device_id
})
response = self.version.request('POST', '/me/player/next', params=params)
return response.status_code == 204
def pause(
self, device_id='UNSET')
def pause(self, device_id=values.UNSET):
params = values.of({
'device_id': device_id
})
response = self.version.request('PUT', '/me/player/pause', params=params)
return response.status_code == 204
def play(
self, device_id='UNSET', context_uri='UNSET', uris='UNSET', offset='UNSET')
def play(self, device_id=values.UNSET, context_uri=values.UNSET, uris=values.UNSET, offset=values.UNSET):
params = values.of({
'device_id': device_id
})
data = values.of({
'context_uri': context_uri,
'uris': uris,
'offset': offset
})
response = self.version.request('PUT', '/me/player/play', params=params, data=data)
return response.status_code == 204
def previous(
self, device_id='UNSET')
def previous(self, device_id=values.UNSET):
params = values.of({
'device_id': device_id
})
response = self.version.request('POST', '/me/player/previous', params=params)
return response.status_code == 204
def repeat(
self, state, device_id='UNSET')
def repeat(self, state, device_id=values.UNSET):
params = values.of({
'state': state,
'device_id': device_id
})
response = self.version.request('PUT', '/me/player/repeat', params=params)
return response.status_code == 204
def seek(
self, position_ms, device_id='UNSET')
def seek(self, position_ms, device_id=values.UNSET):
params = values.of({
'position_ms': position_ms,
'device_id': device_id
})
response = self.version.request('PUT', '/me/player/previous', params=params)
return response.status_code == 204
def shuffle(
self, state, device_id='UNSET')
def shuffle(self, state, device_id=values.UNSET):
params = values.of({
'state': state,
'device_id': device_id
})
response = self.version.request('PUT', '/me/player/shuffle', params=params)
return response.status_code == 204
def transfer(
self, device_ids, play='UNSET')
def transfer(self, device_ids, play=values.UNSET):
data = values.of({
'device_ids': device_ids,
'play': play
})
response = self.version.request('PUT', '/me/player', data=data)
return response.status_code == 204
def volume(
self, volume_percent, device_id='UNSET')
def volume(self, volume_percent, device_id=values.UNSET):
params = values.of({
'volume_percent': volume_percent,
'device_id': device_id
})
response = self.version.request('PUT', '/me/player/volume', params=params)
return response.status_code == 204
class PlayerInstance
class PlayerInstance(Instance):
def __init__(self, version, properties):
super(PlayerInstance, self).__init__(version, properties)
self._context = PlayerContext(self.version)
@property
def timestamp(self):
return self.property('timestamp')
@property
def device(self):
return Device.from_json(self.property('device'))
@property
def progress_ms(self):
return self.property('progress_ms')
@property
def is_playing(self):
return self.property('is_playing')
@property
def item(self):
from spotify.v1.track import TrackInstance
return TrackInstance(self.version, self.property('item'))
@property
def shuffle_state(self):
return self.property('shuffle_state')
@property
def repeat_state(self):
return self.property('repeat_state')
@property
def context(self):
return Context.from_json(self.property('context'))
@property
def currently_playing(self):
return self._context.currently_playing
@property
def devices(self):
return self._context.devices
@property
def recently_played(self):
return self._context.recently_played
@property
def transfer(self):
return self._context.transfer
@property
def play(self):
return self._context.play
@property
def pause(self):
return self._context.pause
@property
def next_(self):
return self._context.next_
@property
def previous(self):
return self._context.previous
@property
def seek(self):
return self._context.seek
@property
def volume(self):
return self._context.volume
@property
def repeat(self):
return self._context.repeat
@property
def shuffle(self):
return self._context.shuffle
Ancestors (in MRO)
- PlayerInstance
- spotify.resource.Instance
- spotify.resource.Resource
- __builtin__.object
Instance variables
var context
var currently_playing
var device
var devices
var is_playing
var item
var next_
var pause
var play
var previous
var progress_ms
var recently_played
var repeat
var repeat_state
var seek
var shuffle
var shuffle_state
var timestamp
var transfer
var volume
Methods
def __init__(
self, version, properties)
def __init__(self, version, properties):
super(PlayerInstance, self).__init__(version, properties)
self._context = PlayerContext(self.version)
def property(
self, name, default=None)
def property(self, name, default=None):
return self.properties.get(name, default)