def generate_rdio_playlist(): """ Generate a list of Rdio track IDs """ state = {} rdio_api = Rdio(secrets['RDIO_CONSUMER_KEY'], secrets['RDIO_CONSUMER_SECRET'], state) songs = [] with open('data/songs.csv') as f: rows = csv.DictReader(f) for row in rows: if row['rdio']: song_object = rdio_api.getObjectFromUrl(url=row['rdio']) if song_object['type'] == 't': songs.append(song_object['key']) print ','.join(songs)
def handle(self, room_name, *args, **kwargs): self.firebase = firebase.FirebaseApplication(settings.FIREBASE_URL) auth = firebase.FirebaseAuthentication(settings.FIREBASE_TOKEN, '*****@*****.**') self.firebase.authentication = auth self.rdio = Rdio(RDIO_OAUTH2_KEY, RDIO_OAUTH2_SECRET, {}) self.party_name = room_name self.party_data = self.get_party_data() self.currently_playing = None self.last_saw_users = datetime.now() self.currently_playing = None if 'player' in self.party_data and 'playingTrack' in self.party_data[ 'player']: track_key = self.party_data['player']['playingTrack']['trackKey'] self.current_track_duration = self.rdio.get( keys=track_key)[track_key]['duration'] self.current_start_time = datetime.now() - timedelta( seconds=self.party_data['player']['position']) else: self.current_track_duration = None self.current_start_time = None self.run()
def rdio(self): if self._cached_rdio is None: self._cached_rdio = Rdio( self.client_id, self.client_secret, self.oauth_state) return self._cached_rdio
def test_creation_with_urls(self): """Can the Rdio class be instantiated with the optional urls param?""" state = {} rdio_client = Rdio(self.client_id, self.consumer_secret, state, {}) self.assertIsInstance(rdio_client, Rdio)
def test_creation(self): """Can the Rdio class be instantiated?""" state = {} rdio_client = Rdio(self.client_id, self.consumer_secret, state) self.assertIsInstance(rdio_client, Rdio)
def test_creation(self): state = {} rdio_client = Rdio(self.CONSUMER_KEY, self.CONSUMER_SECRET, state) self.assertIsInstance(rdio_client, Rdio)
API.''') opts, args = op.parse_args() if len(args) < 3: op.error('missing required arguments') key = args[0] secret = args[1] query = ' '.join(args[2:]) # Figure out the URL for the Flash player that we're going to # impersonate flash_url = resolve_url(FLASH_PLAYER_URL) # Create a REST API client ra = Rdio(key, secret, {}) # Create an AMF API client svc = RemotingService(AMF_ENDPOINT, referer=flash_url, amf_version=3) svc.addHeader('Auth', chr(5)) rdio_svc = svc.getService('rdio') # Search for the track to play results = ra.search(query=query, types=','.join(['Track']), count=1)['results'] if not results: fail('no results found') # Get a playback token token = ra.getPlaybackToken(domain='std.in')
def _init_rdio(self): self._rdio = Rdio(self._addon.get_setting('apikey'), self._addon.get_setting('apisecret'), self._state['rdio_api'])
def rdio(self): if self.__cached_rdio is None: self.__cached_rdio = Rdio('7v2443fffahpt4fazmmh3hx7', '2nzyX96YAu', self.oauth_state) return self.__cached_rdio