As of this writing (Feb 2010), http://smart.fm/, 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:
- username
- password
- api_key
- Word list file. Contains 4 tab-separated columns:
- cue text
- response text
- part of speech letter ( see http://developer.smart.fm/docs/Appendix/B_Parts_of_speech )
- local mp3 file name containing a sound to upload
- the list name
- the cue language code
- 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 http://developer.smart.fm/forum/read/67134.