Rdio-Sock Documentation¶
Start with the following example:
rdio = RdioSock()
# Login to Rdio
rdio.user.login("<username>", "<password>")
# Song changed callback
def song_changed(track):
print "%s - %s - %s" % (track.name, track.album, track.artist)
# PubSub connected callback
def pubsub_connected():
# Subscribe services into pubsub updates
rdio.pubsub.subscribe(rdio.services.fields)
rdio.pubsub.subscribe(rdio.services.private)
# Bind player events
rdio.player.on_song_changed.bind(song_changed)
# Force a player update to get the current state
# (Updates after this are done via PubSub automatically)
rdio.player.update()
rdio.pubsub.on_connected.bind(pubsub_connected)
# Connect the WebSocket-PubSub client to enable real-time updates
rdio.pubsub.connect()
When you have this working you should be able to dive into the documentation starting
at the main client class rdiosock.RdioSock
Classes¶
Core:
RdioSock¶
-
class
rdiosock.
RdioSock
(useragent=None)[source]¶ Rdio-Sock client
Parameters: useragent (str) – User-Agent to use for HTTP/HTTPS requests or None which defaults to Chrome 25.0 Fields
-
pubsub
¶ -
PubSub client
-
services
¶ rdiosock.RdioSockServiceManager
Rdio service manager
-
metadata
¶
-
player
¶
-
server_info
¶
-
version
¶ int
Rdio communication version
-
-
class
rdiosock.
RdioSockServiceManager
(sock)[source]¶ Rdio service manager
Fields
-
fields
¶ rdiosock.services.fields.RdioFieldService
Field service manager
-
private
¶ rdiosock.services.private.RdioPrivateService
Private service manager
-
RdioMetadata¶
-
class
rdiosock.metadata.
RdioMetadata
(sock)[source]¶ -
search
(query, search_types=SEARCH_TYPES.ALL, search_extras=SEARCH_EXTRAS.ALL)[source]¶ Search for media item.
Parameters: - query (str) – Search query
- search_types (int or list of int) – Search type (
rdiosock.metadata.SEARCH_TYPES
bitwise-OR or list) - search_extras (int or list of int) – Search result extras to include (
rdiosock.metadata.SEARCH_EXTRAS
bitwise-OR or list)
-
RdioPlayer¶
-
class
rdiosock.player.
RdioPlayer
(sock)[source]¶ Class Constants
-
REPEAT_ALL
¶
-
REPEAT_ONE
¶
-
REPEAT_NONE
¶
Fields
Un-changeable fields updated via PubSub
-
last_song_played
¶ rdiosock.objects.queue.RdioQueue
Last song played
-
last_song_play_time
¶
-
last_source_played
¶ rdiosock.objects.source.RdioSource
Last source played
-
on_song_changed
¶ rdiosock.utils.EventHook
Song changed event
-
player_state
¶ rdiosock.objects.player_state.RdioPlayerState
Current Rdio player state
-
queue
¶ rdiosock.objects.queue.RdioQueue
Current Rdio player state
Properties
Changeable properties updated and changed via PubSub
-
volume
¶ float
Player volume (0.0 - 1.0)
NOTE: This property sends pubsub messages
-
shuffle
¶ bool
Player shuffle mode
NOTE: This property sends pubsub messages
-
repeat
¶ RdioPlayer.REPEAT_ALL
,RdioPlayer.REPEAT_ONE
,RdioPlayer.REPEAT_NONE
Player repeat mode
NOTE: This property sends pubsub messages
-
position
¶ int
Player position in seconds
NOTE: This property sends pubsub messages
Methods
-
RdioPubSub¶
-
class
rdiosock.pubsub.
RdioPubSub
(sock)[source]¶ PubSub client
-
connect
(update=True)[source]¶ Connect to PubSub server
Parameters: update (bool) – Force pubsub info update (pubsubInfo)
-
publish
(topic, data)[source]¶ Publish PubSub message
Parameters: - topic (str) – Topic Name
- data (object) – json serializable object
-
RdioServerInfo¶
Services:
Objects:
RdioMediaItem¶
RdioNamedItem¶
RdioBaseItem¶
-
class
rdiosock.objects.base.
RdioBaseItem
[source]¶ -
classmethod
parse
(data)[source]¶ Parse data into object
Parameters: data (str or dict) – Data to parse Return type: rdiosock.objects.base.RdioBaseItem
-
classmethod
RdioAlbum¶
-
class
rdiosock.objects.album.
RdioAlbum
[source]¶ Rdio Album
-
artist
¶ str
-
artist_key
¶ str
-
artist_url
¶ str
-
big_icon
¶ str
-
big_icon_1200
¶ str
-
copyright
¶ str
-
display_date
¶ unknown
-
icon_400
¶ str
-
labels
¶ unknown
-
network_consumers
¶
-
playlist_count
¶ int
-
play_count
¶ int
-
release_date
¶ unknown
-
review
¶ str
-
tracks
¶ list of
rdiosock.objects.track.RdioTrack
-
track_keys
¶ list of
str
-
parse_tracks
(key, value)[source]¶ Parse tracks list
Parameters: value (dict) – tracks list dictionary
RdioMediaItem (Inherited)
RdioNamedItem (Inherited)
RdioIconItem (Inherited)
RdioDataItem (Inherited)
RdioBaseItem (Inherited)
-
classmethod
parse
(data)[source]¶ Parse data dictionary into RdioAlbum object
Parameters: data (str or dict) – Data to parse Return type: rdiosock.objects.album.RdioAlbum
-
RdioArtist¶
-
class
rdiosock.objects.artist.
RdioArtist
[source]¶ -
album_count
¶ int
-
band_members
¶ unknown
str
str
-
cover_photo_url
¶ str
-
has_icon
¶ bool
-
has_influenced_artists
¶ bool
-
has_influential_artists
¶ bool
-
has_radio
¶ bool
bool
-
has_review
¶ bool
-
in_program
¶ bool
-
stations
¶ list of
unknown
-
top_album_icon
¶ str
-
top_songs_key
¶ str
-
radio_key
¶ str
-
play_count
¶ int
RdioNamedItem (Inherited)
RdioIconItem (Inherited)
RdioDataItem (Inherited)
RdioBaseItem (Inherited)
-
classmethod
parse
(data)[source]¶ Parse data dictionary into RdioArtist object
Parameters: data (str or dict) – Data to parse Return type: rdiosock.objects.artist.RdioArtist
-
RdioList¶
-
class
rdiosock.objects.collection.
RdioList
[source]¶ -
RdioCollection (Inherited)
RdioBaseItem (Inherited)
-
classmethod
parse
(data)[source]¶ Parse data dictionary into RdioList object
Parameters: data (str or dict) – Data to parse Return type: rdiosock.objects.collection.RdioList
-
classmethod
RdioCollection¶
-
class
rdiosock.objects.collection.
RdioCollection
[source]¶ -
start
¶ int
-
total
¶ int
-
number_results
¶ int
-
type
¶ str
-
type_count
¶ dict
-
items
¶
RdioBaseItem (Inherited)
-
classmethod
parse
(data)[source]¶ Parse data dictionary into RdioCollection object
Parameters: data (str or dict) – Data to parse Return type: rdiosock.objects.collection.RdioCollection
-
RdioPerson¶
-
class
rdiosock.objects.person.
RdioPerson
[source]¶ -
first_name
¶ str
-
last_name
¶ str
-
gender
¶ str
-
location
¶ str
-
can_unfollow
¶ bool
-
is_protected
¶ bool
-
follower_state
¶ unknown
-
following_state
¶ str
-
library_version
¶ int
RdioIconItem (Inherited)
RdioDataItem (Inherited)
RdioBaseItem (Inherited)
-
classmethod
parse
(data)[source]¶ Parse data into object
Parameters: data (str or dict) – Data to parse Return type: rdiosock.objects.person.RdioPerson
-
RdioPlaybackInfo¶
-
class
rdiosock.objects.playback_info.
RdioPlaybackInfo
[source]¶ Rdio Playback Info
-
mp4
¶ bool
-
shost
¶ int
-
surl
¶ str
-
stream_app
¶ str
-
stream_host
¶ str
-
user_has_unlimited
¶ bool
RdioTrack (Inherited)
RdioMediaItem (Inherited)
RdioNamedItem (Inherited)
RdioIconItem (Inherited)
RdioDataItem (Inherited)
RdioBaseItem (Inherited)
-
classmethod
parse
(data)[source]¶ Parse data into RdioPlaybackInfo object
Parameters: data (str or dict) – Data to parse Return type: rdiosock.objects.playback_info.RdioPlaybackInfo
-
RdioPlayerState¶
-
class
rdiosock.objects.player_state.
RdioPlayerState
[source]¶ -
current_source
¶
-
repeat
¶ int
-
shuffle
¶ bool
-
station
¶ unknown
-
version
¶ int
RdioBaseItem (Inherited)
-
classmethod
parse
(data)[source]¶ Parse data into object
Parameters: data (str or dict) – Data to parse Return type: rdiosock.objects.player_state.RdioPlayerState
-
RdioQueue¶
RdioTrackSource¶
-
class
rdiosock.objects.source.
RdioTrackSource
[source]¶ RdioTrack (Inherited)
RdioSource (Inherited)
-
parse_source
(value)¶ Parse the source into RdioTrackSource or RdioAlbumSource
Parameters: value (dict) – Data to parse Return type: rdiosock.objects.source.RdioSource
RdioMediaItem (Inherited)
RdioNamedItem (Inherited)
RdioIconItem (Inherited)
RdioDataItem (Inherited)
RdioBaseItem (Inherited)
-
classmethod
parse
(data)[source]¶ Parse data into object
Parameters: data (str or dict) – Data to parse Return type: rdiosock.objects.source.RdioTrackSource
-
RdioAlbumSource¶
-
class
rdiosock.objects.source.
RdioAlbumSource
[source]¶ -
album_key
¶ str
-
album_url
¶ str
-
current_position
¶ int
-
raw_artist_key
¶ str
-
user_key
¶ str
-
user_name
¶ str
RdioAlbum (Inherited)
-
artist
¶ str
-
artist_key
¶ str
-
artist_url
¶ str
-
big_icon
¶ str
-
big_icon_1200
¶ str
-
copyright
¶ str
-
display_date
¶ unknown
-
icon_400
¶ str
-
labels
¶ unknown
-
network_consumers
¶
-
playlist_count
¶ int
-
play_count
¶ int
-
release_date
¶ unknown
-
review
¶ str
-
tracks
¶ list of
rdiosock.objects.track.RdioTrack
-
track_keys
¶ list of
str
-
parse_tracks
(key, value)¶ Parse tracks list
Parameters: value (dict) – tracks list dictionary
RdioSource (Inherited)
-
parse_source
(value)¶ Parse the source into RdioTrackSource or RdioAlbumSource
Parameters: value (dict) – Data to parse Return type: rdiosock.objects.source.RdioSource
RdioMediaItem (Inherited)
RdioNamedItem (Inherited)
RdioIconItem (Inherited)
RdioDataItem (Inherited)
RdioBaseItem (Inherited)
-
classmethod
parse
(data)[source]¶ Parse data into object
Parameters: data (str or dict) – Data to parse Return type: rdiosock.objects.source.RdioAlbumSource
-
RdioSource¶
-
class
rdiosock.objects.source.
RdioSource
[source]¶ -
static
parse_source
(value)[source]¶ Parse the source into RdioTrackSource or RdioAlbumSource
Parameters: value (dict) – Data to parse Return type: rdiosock.objects.source.RdioSource
RdioMediaItem (Inherited)
RdioNamedItem (Inherited)
RdioIconItem (Inherited)
RdioDataItem (Inherited)
RdioBaseItem (Inherited)
-
classmethod
parse
(data)[source]¶ Parse data into object
Parameters: data (str or dict) – Data to parse Return type: rdiosock.objects.source.RdioSource
-
static
RdioTrack¶
-
class
rdiosock.objects.track.
RdioTrack
[source]¶ -
track_num
¶ int
-
artist
¶ str
-
artist_key
¶ str
-
artist_url
¶ str
-
album
¶ str
-
album_artist
¶ str
-
album_artist_key
¶ str
-
album_key
¶ str
-
album_url
¶ str
-
radio_key
¶ str
-
can_download
¶ bool
-
can_download_album_only
¶ bool
RdioMediaItem (Inherited)
RdioNamedItem (Inherited)
RdioIconItem (Inherited)
RdioDataItem (Inherited)
RdioBaseItem (Inherited)
-
classmethod
parse
(data)[source]¶ Parse data into object
Parameters: data (str or dict) – Data to parse Return type: rdiosock.objects.track.RdioTrack
-