chrrrisw / pybooksearch Goto Github PK
View Code? Open in Web Editor NEWA simple interface to scan ISBNs, search the web for details, and add the book to a csv file.
A simple interface to scan ISBNs, search the web for details, and add the book to a csv file.
Fill mode should query as many searchers as possible to resolve all UNKNOWN fields in the book.
Now that we can search on LCCN, perhaps it's best to include this in the book and CSV as a separate field. In fact, we often get back additional ISBN information in the form of both ISBN_10 and ISBN_13 numbers, so perhaps we should store these separately.
Includes:
I would like to be able to export the CSV file in a format that can be imported by the Book Catalogue android app.
Currently the ISBNSearchOrg searcher replaces '&'
with '&'
to make the resultant strings HTML/XML safe. Should this be the case? Apart from the fact that this is an incomplete solution to the problem, should this really be done in the GTK interface where it's required - rather than corrupt the raw data?
For those of us with many bookcases, and for those packing books for transport, the ability to specify a location would be useful. In text mode the command could look something like:
l:box1
followed by all the books in the 'box1' location. To change location, simply type:
l:box2
or:
l:
to go back to not specifying a location.
With more than two searchers, conflict resolution may get tedious. A future enhancement may leave conflict resolution until all options are in.
Eventually we may want to able to package the code. The reorg
branch has been pushed with current functionality, but with the code reorganised to be more package like.
As it says on the tin.
Currently, if the ISBN lookup fails, the user is given a "could not contact server" message - this is misleading.
I've found that the csv.Sniffer occasionally fails to detect the delimiter and aborts the program.
If the delimiter is set on the command line, don't do the sniff test.
In fill mode, if there is a conflict between two sources, the user choice is put into the book field in lower case. This is a result of the lower case comparison which should be left as-is, the user choices should be the original data.
Re-query mode should read in an existing library file and query the searchers again for any updated information. In combination with "fill mode" this will allow a library file to fill in any UNKNOWN fields that may have been added in the interim.
I know you haven't worked on this in a long time, but hopefully you can still help me out. The script seems to work fine, but it doesn't appear to actually update the auto_library.csv file, despite saying "Saved ./auto_library.csv".
Any thoughts on what might be happening?
Currently the website used to perform the search is hard coded, this should be selectable.
I might be doing something stupid, but after doing a search for an ISBN, saving the results, and then trying to execute the script again, I get this error message immediately.
The full Traceback shows that it's originating from the new_book function originating in crwLibrary.py
It first fails on the self._binding = value.strip()
Any thoughts?
The current delimiter is now '|', but the test data uses ','. Either transform the test data, or use the csv.Sniffer class to determine the CSV dialect on read. Perhaps also allow selection of delimiter for writing via command line parameter.
Text mode only allows adding new entries and provides little feedback to the user. Improve feedback, and allow editing of entries if the search fails.
As auto_library.csv is the default name for the output file, having the test data in this file means that users have to remove this file to start their own library. This will result in a local change to the repository that will potentially clash with future updates to the test data.
WARNING
When this is closed, all users of auto_library.csv should save a copy of their data elsewhere and then copy it back after pulling the change.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.