예제 #1
0
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)
예제 #2
0
파일: master.py 프로젝트: lubert/rdiodj
    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()
예제 #3
0
 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
예제 #4
0
 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)
예제 #5
0
 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)
예제 #6
0
 def test_creation(self):
     state = {}
     rdio_client = Rdio(self.CONSUMER_KEY, self.CONSUMER_SECRET, state)
     self.assertIsInstance(rdio_client, Rdio)
예제 #7
0
파일: snippet.py 프로젝트: szabo92/gistable
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')
예제 #8
0
 def _init_rdio(self):
     self._rdio = Rdio(self._addon.get_setting('apikey'),
                       self._addon.get_setting('apisecret'),
                       self._state['rdio_api'])
예제 #9
0
 def rdio(self):
     if self.__cached_rdio is None:
         self.__cached_rdio = Rdio('7v2443fffahpt4fazmmh3hx7', '2nzyX96YAu',
                                   self.oauth_state)
     return self.__cached_rdio