View Single Post
Old 05-15-2020, 11:53 AM   #499
DictatorAlly
Enthusiast
DictatorAlly began at the beginning.
 
Posts: 26
Karma: 10
Join Date: May 2020
Device: None
Thank you for taking the time to understand my suggestion. I've been thinking about it for awhile now.

Quote:
To the best of my knowledge, there isn't a GR genre list. My understanding is the the genres are actually just the shelves people have created. If you look at a book, it shows the number of people who have used the shelf. And that seems to be the same for the Genre page.
I think there is a Genre GR list, it is the result of GR's processing of their shelves. In comparison to the shelves which display everyone's chosen tags - rubbish or not, GR's Genre's are their processing of that list, kinda resulting in only high quality genre's/shelves/tags remaining.

We could process the list ourselves but I think GR's Genre processing is already good enough, barring some exceptions like not always displaying Fiction/Non-Fiction, and including terms like Audiobook/eBooks. Combining the plugins GR and GR more tags would give you access to the first page of shelves which you could process yourself with tag mapper.

I didn't realise the tag mapper exists. I think your solution of allowing all tags through and using the tag mapper instead is the best solution.

Quote:
There is an issue with genre's that have multiple levels. They could be split, converted to dots for heiarchical tags, or just left like that. I have options for this in the Kobo metadata source plugin, but, the configuration is starting to get complicated if these are added. I'd probably just let them through as they are.
I see the tag mapper would be able to split them, I'm not sure it could convert to dots though. That is something I would be interested in if I was using a program that could take advantage of it. Otherwise I want to keep the way it is(or with dots - whatever looks better), and create another tag for the top levels, so I can use it like a hierarchy for system's that don't support hierarchies.

The Kobo metadata source plugin is also new to me. If I re-evalute whether GR's provides a genre list in comparison to Kobo, I would agree with you that GR doesn't.

My goal is for to use one source for metadata tags and have them be a representation of hierarchical categories similar to Kobo/probably Kobo if I can get it working, or do you have any suggestions?

I thought by removing the GR Plugins filter the genre's provided by GR would be good enough for this, and I wouldn't need to find out what they are and attempt to create a filter list for them like someone did in this thread years ago. But the more I look at how GR processes their GR list the more I don't think it is adequate. I want a genre list that is more refined.

I hope that relying on only one metadata source that already provides such a list would be 80% of the way there.

The alternative would be to use the tag mapper to output your own hierarchical list, which judging by GR attempt is quite difficult.

I've installed Kobo and I like that it first searches for only an ISBN match and will only searches by title if an ISBN isn't present in the calibre metadata. This completely avoids getting mismatches for known ISBN's - if only the plugin Extract ISBN's worked well - I think I'll take a look at that. The Amazon/Goodreads/Google plugins, frustratingly, will overwrite a known ISBN. Without having a user specified flag the other behaviour is better. I think each plugin should have an option to disable overwriting the ISBN though, that way it can search by ISBN first, not find a match, and then follow up by a Title/Author search and still find relevant information. I guess that would be another useful flag - 1) Match ISBN only 2) Match ISBN or Title/Author.

Quote:
Honestly, I'm not sure if all this is needed. And if I as doing it now, I might just let them all through and rely on the Tag Mapper. This didn't exist at the time the plugin was written. It has the advantage of working all tags from all sources, not just one. The disadvantage of this is that it has to be run separately.
I agree, this is the best solution, and your changes in parse_tags should be enough to achieve. Perhaps you could modify the code to not generate the default genreMappings key on new installs. This way you're not impacting user's who rely on the GR's plugin mapping configuration. Also, perhaps an explanation in the GR's plugin configuration page that it would be better to use the tag mapper/empty this filter to allow all GR genre's through - since it is not immediately obvious.

I'm trying to use the Kobo plugin now and it is failing. Also, it appears to take 30 seconds to timeout though, which is far to long for bulk searching. I just freshly installed the plugin, is it working for you?

This is the error:

Spoiler:

#################### Log for A Lady's Past ####################
Running identify query with parameters:
{u'timeout': 30, u'title': u"A Lady's Past", u'identifiers': {}, u'authors': [u'A. S. Fenichel']}
Using plugins: Kobo Books (1, 8, 0), Google (1, 0, 1)
The log from individual plugins is below

****************************** Kobo Books (1, 8, 0) ******************************
Found 0 results
Downloading from Kobo Books took 30.1156039238
identify - title: "A Lady's Past" authors= "[u'A. S. Fenichel']"
create_query - title: "A Lady's Past"
create_query - after decode title: "A Lady's Past"
create_query - title_tokens: "[u'A', u"Lady's", u'Past']"
Querying: https://www.kobo.com/search?Query=A+...clanguages=all
Failed to make identify query: u'https://www.kobo.com/search?Query=A+Lady%27s+Past+Fenichel&fcmedia=Book &fclanguages=all'
Traceback (most recent call last):
File "calibre_plugins.kobobooks.__init__", line 167, in identify
File "site-packages/mechanize/_mechanize.py", line 238, in open_novisit
File "site-packages/mechanize/_mechanize.py", line 283, in _mech_open
File "site-packages/mechanize/_opener.py", line 193, in open
File "site-packages/mechanize/_urllib2_fork.py", line 375, in _open
File "site-packages/mechanize/_urllib2_fork.py", line 363, in _call_chain
File "site-packages/calibre/utils/browser.py", line 29, in https_open
File "site-packages/mechanize/_urllib2_fork.py", line 1182, in do_open
URLError:

************************************************** ******************************
DictatorAlly is offline   Reply With Quote