Git Product home page Git Product logo

Comments (12)

pgaskin avatar pgaskin commented on June 1, 2024

I'm planning to generate a UUIDv5 of the series metadata with a namespace of 9ea9be91-2966-4fbf-b822-de692259bc9b.

from kepubify.

pgaskin avatar pgaskin commented on June 1, 2024

@davidfor is taking the series ID from Kobo if it exists in the content table with a matching series and author, and otherwise, just using the series name as the ID (https://www.mobileread.com/forums/showthread.php?p=3959768).

I'm going to implement the same thing, but I've decided not to check the author (some series are written by more than one author, and also, it's a lot more likely for there to be inconsistencies in authors than in series).

from kepubify.

pgaskin avatar pgaskin commented on June 1, 2024

Note that if there are different authors for the books in a series, nickel will merge them into a list which displays under the series name in the series view.

from kepubify.

shermp avatar shermp commented on June 1, 2024

Yeah, I was going to go with whatever @davidfor ends up doing with the Calibre driver.

Haven't had a chance to look into this yet however.

from kepubify.

pgaskin avatar pgaskin commented on June 1, 2024

I've implemented and tested the implementation of this for seriesmeta. See the commit message for more details.

I've also considered adding a trigger to automatically update the series ID if a book is added from the Kobo Store with a proper series ID, but I decided against it for performance reasons (it be another hook which would run on every update of the content table), because it's not an urgent thing to update (it'll be fixed when seriesmeta is run again), and because it won't really occur that often (if someone's sideloading a series, why would they end up getting it from Kobo as well?).

from kepubify.

pgaskin avatar pgaskin commented on June 1, 2024

I'm going to v3.1.0 with this change, and then I'm going to release the patches.

from kepubify.

pgaskin avatar pgaskin commented on June 1, 2024

As of kovidgoyal/calibre@477d9ef, seriesmeta's implementation is fully compatible with Calibre's. It seems that @davidfor decided not to check the author after all.

from kepubify.

shermp avatar shermp commented on June 1, 2024

Should the trigger update SeriesNumberFloat as well? It's what I'm planning to do in KU, and what the new calibre changes also appears to do.

I haven't got FW 4.20.x installed on a Kobo yet, so I'm making an assumption here, but one assumes the SeriesNumberFloat would be used to order the list in Nickel. Is this correct?

from kepubify.

pgaskin avatar pgaskin commented on June 1, 2024

I don't currently update it in seriesmeta. AFAIK, it isn't used anywhere right now. I don't see the harm in updating it though, and I should probably do it myself for the next release.

The list still seems to be in order with only SeriesNumber.

from kepubify.

shermp avatar shermp commented on June 1, 2024

I wasn't sure how Nickel behaved, since SeriesNumber is a text column, not a numeric column. Although I guess ORDER BY SQL works regardless...

from kepubify.

davidfor avatar davidfor commented on June 1, 2024

@geek1011: When I checked the code last night, I remembered that I did the series name with a plan to add the author check. But, it worked and I think found a case that would have been broken if the author was also used.

@shermp: I don't think the library lists is done directly from a SQL query. I'm pretty sure that the library is built into a structure and list built from that. Individual book details are pulled up as needed. And, I'm pretty sure I tried setting the SeriesNumberFloat to a different order from the SeriesNumber and the SeriesNumberFloat was used instead.

from kepubify.

pgaskin avatar pgaskin commented on June 1, 2024

But, it worked and I think found a case that would have been broken if the author was also used.

👍

I'm pretty sure that the library is built into a structure and list built from that.

That's correct. After the initial load, it never reads directly from the DB until a reboot, or a sync under some circumstances. When it updates a row, it usually (always?) rewrites all columns, including the unchanged ones.

from kepubify.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.