xlcnd / isbntools Goto Github PK
View Code? Open in Web Editor NEWpython app/framework for 'all things ISBN' including metadata, descriptions, covers...
License: Other
python app/framework for 'all things ISBN' including metadata, descriptions, covers...
License: Other
... with a simplified data structure (data4mask.py is a bit complicated to compile!)
This feature already exists in the Windows version.
Change vias.serial
so that it doesn't stop if one of the providers fail.
Useful for the heavy user!
The rule should be:
Everything that is not essential should be moved from the core.
It seems that this happens because there are cases (remember the call to google is NOT deterministic) where industryIdentifiers
is missing! And the _mapper in goom
was assuming that it exist.
Fuzzy matching (just like git) make it easy the use of commands...
All options after DEFAULT_SERVICE
are not set!
There are some 'concerns' that should be taken into account:
OSError
.Using PIL?
The fmt
is very simple and not very flexible... we need something better!
Despite you can access and use isbntools
as a library, in some Windows installations, the packaged scripts will not run! At least in the * anaconda distribution* of python for Windows ...
Solution?
See some suggestions below, but can you help?
By default merge
(the default provider for meta
) uses vias.parallel
that is slower (than vias.serial
) for fast internet connections.
Solution?
If you have a fast internet connection write the following in the [SERVICES]
section of .isbntools.conf
:
VIAS_MERGE=serial
One more test for return None.
Together with #41.
Before fully solve #27, do this substitution.
People are importing private modules... and are getting strange errors! So rename private modules according with pep8 to signal that those modules MUST NOT be imported directly. They functionality is exposed in another way, namely in the namespaces:
Discussion about Workflow and Dev Tools for the project.
Start by reading the Contributing Guidelines.
The library can be installed in (python) virtual environments but the configuration files are installed outside!
It is OK to annotate code with no cover
in the following cases:
The only way to the user to input preferences is by the command line.
Starting with the next version (2.1.2), it will be possible the end user write a .conf
file to express some options (isbndb api key, default metadata provider,...).
The present one works fine for providers
and things like that... but it would be nice to split the lib between core functionality (that shouldn't have external dependencies) and addins that could use other libraries.
crossref.org, arxiv.org, PubMed, ...
goom
is an example of a contrib's module with its own script isbn_goom
rename (an ebook file) using metadata from the ISBN of the book (more difficult than it seems!)
Check setconf.py
The isbntools
works internally with unicode, however this doesn't solve errors of lost information due to bad encode/decode at the origin!
This would open the door to some 'legacy' providers that use the MARC format
Plugins with API-KEYS or external dependencies should go to contrib`.
This is a discussion to collect and evaluate new features.
Start by reading the issues with label enhancement.
The meta
method and the isbn_meta
script sometimes give a wrong result (this is due to errors on the provider service) or don't find the data.
Solution 1? Try another service (wcat
, goob
, openl
, isbndb
, ...) or (better) use the provider merge
(it merges wcat
with goob
in order to maximize the quality of data).
Solution 2? Calls to metadata services are cached by default. Sometimes this cache could get corrupted. To mitigate that, just enter into a command line isbn_conf delcache
. If by any reason you don't want the cache, just enter isbn_conf setopt cache no
.
Starting with v3.1.5 the sphinx's build of docs should be tested on Travis.
Now they can be put in conf file or in the command line, but would be nice to have them encrypted!
The bulk of For Devs section must go to readthedocs.
If you are in a slow internet connection, you could receive timeout errors.
Solution? Starting in version 2.1.2 (and if you are in a UNIX machine) you will be able to change some parameters to fix that.
However, you could do it now by increasing the values of SOCKETS_TIMEOUT
and THREADS_TIMEOUT
in setup.py
.
You should use an appropriate framework if you need throttling in service calls!
Like description
, language
, ...
isbntools.conf
should not be overwritten but must be updated.
In researching this bug, was discovered that there is no guarantee that isbntools.conf would be installed in ~/.isbntools
!
Periodically new blocks of ISBNs are issued to agencies. The range of these blocks is on a database that mask
uses. So it could happen, if you have a version of isbntools
that is too old, mask
doesn't work for valid (recent) issued ISBNs.
The solution? Update isbntools often!
Move many of the functionality in isbn_ren
to dev.rename
.
Like the one that exists for Windows https://sourceforge.net/projects/isbntools/.
In addition, we can create:
This is a feature very helpful in conjunction with renaming the file by its ISBN.
Use pep257.py
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.