-
-
Notifications
You must be signed in to change notification settings - Fork 267
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Calibre catalog import #627
Comments
I took a stab on this issue today, but somehow missed something: You can see a diff here: https://jaenis.ch/hobbies/coding/repos/ryuno-ki/bookwyrm/compare/main...calibre-import From what I can guess, some fields couldn't be mapped. |
In that table, the data shown is normalized data, so the fact that is has the title, author, and ISBN means it's probably being mapped correctly. I wonder if the problem isn't directly related to your code, which looks correct to me at a glance, but a problem with how your local instance is connecting to external data sources? If you do a search for that ISBN in your instance from the top bar, do you see results locally, from OpenLibrary, and/or from Inventaire? |
That ISBN isn't in OpenLibrary, and may have timed out connecting to inventaire. I don't think it's a bug in your code, just a quirk of the imperfect data sources. I'd try a longer example CSV to get a better sense. One thing to test in that dataset would be how Calibre's concept of shelves maps to bookwyrm's, as well as reviews. |
Looked at the instruction @tastytea shared in the OP. Importing my Smashing Magazine library yields this: For example, I don't see reading status or review there. |
For the feature to be useful, I think it will need to add the books to a shelf - I'm not familiar with Calibre, so hopefully someone who uses it can be helpful here. It doesn't look like there's an analogous field in the CSV data (I may be missing something!), so the simplest solution would be to pick one of the standard shelves and have all the books end up on that shelf. A better solution would be to let the user decide which shelf the books end up on, which is a bit more of a complex coding challenge. |
Okay, here's my suggestion: Make this issue about importing all books into a standard shelf as a first step. Open another issue to make the user be able to select a different shelf (I see questions to answer here like „per book?”, „to a completely new shelf?”, „only for Calibre imports?”). Personally I discovered that I cannot copy/move a book into another shelf but have to go through the search again and add it again. I go ahead and look into implementing the code accordingly. I can iterate on if you disagree with my proposal. |
As far as I'm aware Calibre does not have shelves. Books can be organised in libraries, but they can't be exported all at once, only one at a time. I guess most users will only have one library.
Maybe all books with a rating should go to the read shelf and the rest to a shelf called ‘imported books’ or something like that? Edit: Ah, a rating does not necessarily mean the user rated it. |
Pushed my update. See #2093. Do you want me to fill the above mentioned follow-up issues? |
Is your feature request related to a problem? Please describe.
I'd like to import a list of books and their metadata from calibre.
Describe the solution you'd like
Calibre can export a catalog of a library in different formats, for example CSV or XML. I think using the CSV would be easiest because the Goodreads-import already uses it?
Additional context
Example entry in a calibre catalog (CSV):
The comments field I replaced the text of seems to be text/plain. It can contain newlines.
The text was updated successfully, but these errors were encountered: