Skip to content

Instantly share code, notes, and snippets.

@mdkent
Created November 17, 2015 09:01
Show Gist options
  • Save mdkent/9d48a4142362a2815b09 to your computer and use it in GitHub Desktop.
Save mdkent/9d48a4142362a2815b09 to your computer and use it in GitHub Desktop.

Rdio -> Google Play Music

Abandon ship!

I've used the following method to export a playlist with 601 items, matching 580. The remaining 21 are a mix of artist or album mismatches, along with some tracks that just aren't available.

Requires

  • An rdio account (big surprise).
  • A Google Play Music account.
  • OSX
  • homebrew setup with the following installed:
    • git
    • python with openssl support for easy_install
      • If missing: brew install openssl && brew reinstall python
    • gnu-sed
  • Chrome with Rdio Enhancer installed.
  • A sense of urgency.

Process

  • Using Chrome (with Rdio Enhancer), login to rdio and use "Export to CSV" for each playlist (click the ... option when viewing the playlist).
  • Checkout gmusic-playlist.
  • Install the gmusicapi dependency:
easy_install gmusicapi
  • Edit the gmusic-playlist preferences.py, update the username.
  • Also in preferences.py, remove songid from track_info_order, we'll be relying on title+artist+album:
gsed -i.bak 's/,'\''songid'\''//' preferences.py
  • Next delete the column names and strip the track number out of your playlists:
gsed -i.bak '1d;s/,"[0-9]\+"$//' ~/Downloads/Good\ Music.csv
  • If you're using two factor auth on your Google account: generate an app level password.
  • Finally we can run this puppy:
python ImportList.py ~/Downloads/Good\ Music.csv
  • Cross your fingers. The import is safe to run again, it'll create a new playlist with the same name.
  • Manually lookup any skipped tracks from the output.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment