Advertisement
nbmaltais

rdio-xbmc login patch

Apr 23rd, 2013
249
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.54 KB | None | 0 0
  1. import sys
  2. import os.path
  3.  
  4. if sys.platform == 'win32':
  5.     appdata = os.getenv("APPDATA")
  6.     XBMC_SETTINGS = os.path.join(appdata,'XBMC')
  7. else:
  8.     appdata = os.path.expanduser("~")
  9.     XBMC_SETTINGS = os.path.join(appdata,'.xbmc')
  10.  
  11. sys.path.append(os.path.join(XBMC_SETTINGS,'addons','plugin.audio.rdio','resources','lib'))
  12.              
  13.  
  14. import webbrowser
  15. import pickle
  16.  
  17. from rdioapi import Rdio, RdioProtocolException
  18.  
  19.  
  20. _RDIO_DOMAIN = 'localhost'
  21.  
  22. def main(apikey, apisecret):
  23.     state={'rdio_api': {'auth_state': {}}, 'playback_token': None, 'current_user': None, 'rdio_cookie': None}
  24.  
  25.     rdio = Rdio(apikey, apisecret, state['rdio_api'])
  26.  
  27.     auth_url = rdio.begin_authentication('oob')
  28.  
  29.     webbrowser.open(auth_url)
  30.  
  31.     verifier = raw_input("Enter PIN from rdio: ")
  32.  
  33.     rdio.complete_authentication(verifier)
  34.  
  35.     state['playback_token'] = rdio.call('getPlaybackToken', domain=_RDIO_DOMAIN)
  36.     state['current_user'] = rdio.call('currentUser')['key']
  37.  
  38.     webbrowser.open('http://www.rdio.com')
  39.     print 'Log into rdio. Once logged in, find the r cookie from rdio.com and copy it here.'
  40.     print 'How to find the cookie depends on the browser used...'
  41.     cookie = raw_input("Enter r cookie from rdio.com: ")
  42.     state['rdio_cookie'] = cookie.strip()
  43.  
  44.     with open(os.path.join(XBMC_SETTINGS,'userdata','addon_data','plugin.audio.rdio','rdio-state.json'),'wb') as f:
  45.         pickle.dump(state,f)
  46.  
  47. if __name__ == '__main__':
  48.     apikey = sys.argv[1]
  49.     apisecret = sys.argv[2]
  50.    
  51.     main(apikey,apisecret)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement