aplanas / kmanga

KManga site
GNU General Public License v3.0
142 stars 38 forks source link

[feature-request] Adding series data to generated ebook file #8

Open Hamitamaru opened 6 years ago

Hamitamaru commented 6 years ago

First I'd like to say great job with this, really useful.

I have a feature request to add series metadata to the generated ebook files. This should make it easier for Calibre to manage the automatic collection generation based on the added series metadata.

I think that it would take adding to this block of code: https://github.com/aplanas/kmanga/blob/master/mobi/mobi.py#L554-L560

The following:

ET.SubElement(metadata, 'meta', {
    'property': 'calibre:series'
}).text =  self.info.series_name

if isAcceptableCalibreSeriesIndex(self.info.number_in_series):
    ET.SubElement(metadata, 'meta', {
        'property': 'calibre:series_index'
    }).text = self.info.number_in_series

isAcceptableCalibreSeriesIndex returns true if it is a parse-able number else false. I'm not sure what happens in Calibre if you started creating books with "13a" for a series_index though it looks like "11.1" and such is supported (ref: https://manual.calibre-ebook.com/template_lang.html and search "If you use series indices with sub values (e.g., 1.1)")

You would also need to expose these new properties on MobiInfo here: https://github.com/aplanas/kmanga/blob/535df120200c8f11fe8a6346f35abd14479005c8/kmanga/scrapyctl/mobictl.py#L27 I think the right value for each is probably series_name = issue.manga.name and number_in_series = issue.number

You may also be interested in adding the Mobi3 standard series metadata which is shown here: https://github.com/dteviot/WebToEpub/issues/1 Though not sure if anyone would immediately benefit.

Thanks, hope you can add this feature.