Git Product home page Git Product logo

rdio-export's Introduction

Rdio Export to Google Play Music

Export your Rdio favorites and playlists to Google Play Music.

Requirements

  • An Rdio account.
  • A Google Play Music account with an Unlimited subscription.
  • Python on a UNIX-like computer. I use Debian GNU/Linux. A Mac might work.

Google Authentication

If you use 2-Step Verification (and you should) then you need to create an /App password/ rather than using your normal Google password.

Setup

Install the right version of the gmusicapi module by running:

git submodule update --init

and its dependencies by running

pip install --user -r gmusicapi-module/requirements.txt

Running

To import all your public Rdio playlists and favorites into your Play Music account run with your Rdio username and Google account.

python rdio-export.py rdio_username [email protected]

Then enter your Google App password, sit back and let the program do its thing. It can take a while.

After it runs there will be HTML reports generated for your imported favorites (favorites.html) and for each playlist (playlist-*.html). Take a look to make sure the tool did the right thing with your data.

Matching

This script does its best to match the tracks from Rdio to those on Google Play Music. Sometimes it will get things wrong. You should look through the HTML reports to make sure it did the right thing. It's also slow. For each Rdio track the Google Play Music catalog will be searched at least a couple of times to make sure that the best match has been found. It tries to avoid picking "karaoke" or instrumental cover tracks if possible.

rdio-export's People

Contributors

cmkimerer avatar ianloic avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

cmkimerer yns88

rdio-export's Issues

Hanging on `Retrying Rdio API call: getUserPlaylists`

Thank you very much for this awesome tool.

Unfortunately, when I run the python command, I get this output:

Connecting to Rdio...
Connecting to Play Music...
Finding playlists...
Retrying Rdio API call: getUserPlaylists
Retrying Rdio API call: getUserPlaylists
Retrying Rdio API call: getUserPlaylists
Retrying Rdio API call: getUserPlaylists
Retrying Rdio API call: getUserPlaylists
Traceback (most recent call last):
File "rdio-export.py", line 120, in
migrate_playlists(rdio_user)
File "rdio-export.py", line 81, in migrate_playlists
pls = rdio.call('getUserPlaylists', user=user_key, kind=kind, extras='tracks,ownerKey', start=start)
File "/Users/blawless5/Development/other-git/rdio-export/rdio.py", line 82, in call
raise Exception('Rdio API call "%s" failed' % method)
Exception: Rdio API call "getUserPlaylists" failed

Perhaps this is because I'm on OS X 10.10.4 and not Debian?

Any help would be very appreciated. Thank you very much.

Print unmatched items

The rdio-export does not show which musics are not matched when exporting favorites:

Migrating 2386 favorites
      1/2386 scanned  0%. 1 matched, 0 unmatched, 0 unmatched but unavailable on
      2/2386 scanned  0%. 2 matched, 0 unmatched, 0 unmatched but unavailable on
. . .
   2385/2386 scanned  99%. 2049 matched, 265 unmatched, 71 unmatched but unavail
   2386/2386 scanned  100%. 2050 matched, 265 unmatched, 71 unmatched but unavailable on Rdio

Favorites error

Should have hundreds of favorites but couldn't get none.

Migrating 0 favorites for Fabricio Godoy
Traceback (most recent call last):
  File "rdio-export.py", line 117, in <module>
    migrate_favorites(args.rdio_username)
  File "rdio-export.py", line 110, in migrate_favorites
    for match in matched_tracks:
  File "/home/fgodoy/Projects/External/rdio-export/match.py", line 228, in match_tracks
    percentage = int(100 * count / float(num_tracks))
ZeroDivisionError: float division by zero

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.