Beispiel #1
0
    def autheniticate_me(self):
        rdio = Rdio(RDIO_CREDENTIALS)
        try:
            url = rdio.begin_authentication('oob')
            print('Go to: ' + url)
            verifier = input('Then enter code: ').strip()
            rdio.complete_authentication(verifier)
            return rdio

        except HTTPError as e:
            print(e.read())
Beispiel #2
0
 def setUp(self):
     self.rdio = Rdio((RDIO_CONSUMER_KEY, RDIO_CONSUMER_SECRET),
                      RDIO_TEST_OAUTH_TOKEN)
     test_playlist = self.rdio.call(
         'createPlaylist', {
             'name': 'charter test',
             'description': 'test charts',
             'tracks': 't10016979,t28083363,t7357573'
         })
     self.playlist = test_playlist['result']
     self.playlist_key = self.playlist['key']
     self.charter = Charter(rdio=self.rdio)
def login():
    session_id = session['uuid']
    removeFromStore(session_id)
    rdio = Rdio(RDIO_CREDS)
    auth_url = rdio.begin_authentication(callback_url=url_for('rdio_callback',
                                                              _external=True),
                                         mode='redirect')
    session_data = {
        'expires': datetime.datetime.now() + STORE_DURATION,
        'rt': rdio.token[0],
        'rts': rdio.token[1]
    }
    addToStore(session_id, session_data)
    return redirect(auth_url)
def rdio_callback():
    session_id = session['uuid']
    session_data = memory_store[session_id]
    request_token = session_data.get('rt', None)
    request_token_secret = session_data.get('rts', None)
    verifier = request.args.get('oauth_verifier', None)
    if verifier is None or request_token is None or request_token_secret is None:
        logging.warn("OAuth callback error")
        return redirect(url_for('logout'))
    rdio = Rdio(RDIO_CREDS, (request_token, request_token_secret))
    rdio.complete_authentication(verifier)
    session_data['at'] = rdio.token[0]
    session_data['ats'] = rdio.token[1]
    del session_data['rt']
    del session_data['rts']
    return redirect(url_for('home'))
def rdioFromSession(session):
    if 'uuid' in session and session['uuid'] in memory_store:
        session_data = memory_store[session['uuid']]
        if 'at' in session_data and 'ats' in session_data:
            return Rdio(RDIO_CREDS, (session_data['at'], session_data['ats']))
    return None
if __name__ == '__main__':
    from charter.charter import Charter
    import config
    from rdio.rdio import Rdio
    import scraper

    rdio = Rdio((config.RDIO_CONSUMER_KEY, config.RDIO_CONSUMER_SECRET),
                config.RDIO_TEST_OAUTH_TOKEN)
    charter = Charter(rdio=rdio)

    scraper.chartList()
    new_chart = scraper.scrapeChart('http://www.billboard.com/charts/hot-100')
    charter.updatePlaylist('my playlist key', new_chart)