Well, that was easy.
db = Mongo::Connection.new.db('citeulike')
col = db.collection('articles')
j = JSON.parse(open("http://www.citeulike.org/json/user/neils").read)
j.each do |article|
article[:_id] = article['article_id']
From Greg Jordan via the CiteULike discussion forums:
I thought I’d share with you a little tool I wrote to make working with CiteULike a little more user-friendly. It’s called SyncUThink, and it aims to do two things:
1. Search for, and upload to CiteULike, PDFs for all citations in your library.
2. Download all available PDFs to your computer.
I have it running now. The first attempt crashed my browser (not uncommon with Firefox + Linux + Java apps, unfortunately), but it seems to be running smoothly. I’ll keep you posted – this could be a really useful tool, provided of course that your network has full access to online articles.
Update: pretty good job. 100 PDFs retrieved for 153 citations and at a cursory glance, only one incorrect PDF was fetched. PDF download to an NFS-mount location failed, but seems OK to a local drive. However, if “tag subfolders” is selected, PDFs with multiple tags are downloaded to every folder with those tags which seems wasteful.