Mass Upload To Smart.FM

As of this writing (Feb 2010),, a spaced repetition flashcard site, has no means of uploading lots of things at once. The API allows it, though, so I wrote some code.

It's Ruby, and both scripts require the JSON gem.

delete_lists.rb is used to delete lists, because if you don't, when you re-run the upload it'll complain about items already being in the list.

upload.rb takes a bunch of command line arguments:

  1. username
  2. password
  3. api_key
  4. Word list file. Contains 4 tab-separated columns:
    1. cue text
    2. response text
    3. part of speech letter ( see )
    4. local mp3 file name containing a sound to upload
  5. the list name
  6. the cue language code
  7. the response language code

It has only been tested on Linux.

Note that it runs very slowly; this isn't my fault. There seems to be a bug such that you can only create an item about every 60 seconds; see the forum post I made about it.

Erk. Sound uploading doesn't work yet; see