Code Monkey home page Code Monkey logo

rdio-takeout-importer's Introduction

This can help export your Rdio collection into Spotify or Google Play Music

This is entirely crummy, "works for me"-style code. It may work for you, but it probably won't. Please don't use this unless you're willing to do some serious debugging and fooling around. If it breaks, I probably can't help you, sorry.

Still want to play?

OK, here's how I did this:

First, you need the same kit as I have:

  • Chrome
  • Python 2.7 (probably works with other versions, haven't tried).
  • iTerm2 beta version (this is how I did images. you can probably rip this out without much trouble if you don't want to use iTerm2)
  • Rdio and Spotify accounts, natch.

Then:

  1. Export your Rdio stuff by visiting https://rdio.com/farewell. Move the 1_favorites/favorites_albumsandsongs.csv file into a file called collection.csv in this directory.

  2. Convert the collection csv into a sqlite db you need for the next step: python rdio_export_to_sqlite.py

For Spotify:

  1. Create a Spotify API application on this page

  2. Modify r2s.py, filling in the 4 constants up at the top with the info from the app you created above. The redirect URI can be any valid URL, make sure you hit "save" at the bottom after entering it. When you run the r2s.py program it will have you manually copy in the URL that you are redirected to, no server is required.

  3. Install your Python kit: pip install -r requirements-spotify.txt

  4. Run the converter! python r2s.py. It'll try to match albums in Rdio to equivalents in Spotify. If no results are found, you get a chance to manually enter artist/album for a search. Then, you'll see the best match, and can add it, try the next match, or skip the album entirely (for music you don't want to port over).

For Google:

  1. If you use MFA for your Google account, create an application-specific password by visiting https://myaccount.google.com/security and clicking on "App Passwords". (If you don't use 2FA: what the heck are you thinking? Fix that now!)

  2. Modify r2g.py, filling in the 2 constants up at the top with your username (i.e. email) and app-specific password.

  3. Install your Python kit: pip install -r requirements-gmusic.txt

  4. Run the converter! python r2g.py. It'll try to match albums in Rdio to equivalents in Google. If no results are found, you get a chance to manually enter artist/album for a search. Then, you'll see the best match, and can add it, try the next match, or skip the album entirely (for music you don't want to port over).

Caveats

Lots, I'm sure. Here are the ones I know of:

  • Doesn't do playlists. See http://soundiiz.com/.

  • Skips albums with less than 5 tracks saved in Rdio. Tweak around line 40 if you like.

rdio-takeout-importer's People

Contributors

jacobian avatar jezdez avatar schneems avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

rdio-takeout-importer's Issues

error in code

rdio_export_to_sqlite.py

click.secho("collection.csv doesn't exist, bailing", fg=red)
should be
click.secho("collection.csv doesn't exist, bailing", fg='red')

I think anyway!!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.