I finally bit the bullet and put online an interactive version of my GrEstimator script (which will soon see a new release, by the way).
The GrEstimator Web Service is currently very basic. You provide an email, a GoodReads ID and a shelf (or tag) you want to estimate, and the system will email the result (expressed in a currency of your choice, calculated with exchange rates from WebserviceX's Currency Converter).
The tool is beta ("almost alpha" really), so be gentle and let me know if it dies on you :)
Known issues:
- you have to provide a numerical GoodReads ID, which is the one appearing at the end of the URL when you look up a user (e.g. "http://www.goodreads.com/user/show/1383164"). I've asked to be authorized to look up an ID by providing an email, and I'm waiting for the response; once I'm allowed, you'll be able to just provide the email you use with GR.
- you cannot estimate more than 200 books on a shelf; this is a limitation of the GoodReads API.
- books not listed on Amazon will be ignored.
- it currently spawns a thread for each estimate. I have to implement a system of queues to limit the amount of threads running at any given time, just in (the remote) case the service becomes popular.
- you cannot choose the output currency, it's USD only. This will be fixed soon with a new option. Fixed.
- the result is based on average prices. I'll soon add an option to say if you want that or rather the maximum potential price (which really tends to be funny). Fixed.
- the service does go through all the Amazon locales (.com, .co.uk, .de, .fr, .ca, .jp in this order) but only if item lookup fails on the previous locale. This means that, if I find a book on .com marked as unavailable, I will still consider it as "found" and won't repeat the lookup on a different locale. I actually just realized this as I was writing the post, it will be fixed very soon. Fixed.
- producing a "blog badge".
- pulling prices from somewhere else than Amazon.
- an "update" feature of some sort would be nice.
No comments:
Post a Comment