That data from worldcat.org is pretty good. I've only encountered one book where they returned incorrect information (they listed a 2nd edition as having a published date a couple years before the first edition).
The query used by Calibre returns data (including published dates) for a specified ISBN and data for other editions related to that one. I'm not a Python programmer either but my testing would seem to indicate that Calibre is selecting the earliest published date for all editions. This could be considered a personal preference but different editions (with different ISBNs) are different books. It would be nice if Calibre had an option to restrict downloaded published dates to only the specified ISBN. To be fair, the code for this in Calibre looks like it is trying to accommodate a large number of possible outcomes and combinations of ISBNs, Author names and Titles so its current functionality is likely a tradeoff.
Here is the query that Calibre uses that you can type into your browser's URL bar:
Code:
http://xisbn.worldcat.org/webservices/xid/isbn/XXXX?method=getEditions&format=json&fl=form,year,lang,ed
Replace the XXXX with your ISBN. This will return the raw text data for that book and related books and you will be able to see the published date you are looking for.
Alternatively, you can install a Calibre plugin called Search the Internet and add a custom search with the following string:
Code:
http://xisbn.worldcat.org/webservices/xid/isbn/{isbn}?method=getEditions&format=json&fl=form,year,lang,ed
This will allow you to right click a book and open a search at worldcat.org using the ISBN for that book.
I have hope that there is a less manual way to do this that I have not yet discovered.