Kramoule / happypanda

A cross platform manga/doujinshi manager with namespace & tag support
http://pewpew.moe/project/happypanda
Other
10 stars 2 forks source link

Sorting and fetching is cumbersome and don't work well #8

Open CyanLeader opened 5 years ago

CyanLeader commented 5 years ago

This isn't really a bug but I feel those functionalities should be improved if possible since they either don't work well or waste a lot of time. I have two major issues. I'd rather use another venue to discuss these but I'm not really sure how to get in contact with Kramoule. Anyway, here goes.

1. Sorting by Artist doesn't work as intended.

I requested briefly in another report if adding a "circle" field was a possibility since having that attached to artists can cause issues. The current most used format by the community is "CIRCLE (ARTIST)" or just "ARTIST". This causes trouble since when you sort by name it separates the works done by artists who work in multiple circles or make releases in tankoubons. Thus, I suggest a solution that might not require a new feature such as a new field: change the author sorting code. Simply put, if parenthesis are present in the name, the code should consider the contents inside the first set instead of the actual first letter, eliminating the problem altogether.

Also, for some reason the software doesn't remember sorting preferences if you set it to "author", even though it does that for other parameters. This seems like a bug.

2. Fetching is cumbersome since it searches for all languages.

I really feel we should be able to filter languages when fetching. Most of the cases that multiple galleries are found is because multiple languages were present. This really slows down the process of adding new galleries, especially when adding hundreds of them. EX/EH have options to hide certain languages from search results but unfortunately it seems that the fetcher doesn't respect that, even when logged in. Such a filter would save a lot of time.

Kramoule commented 5 years ago

I'd rather use another venue to discuss these but I'm not really sure how to get in contact with Kramoule.

Anything related to Happypanda can be posted in an issue with no problem. I couldn't work much on HP but I still read issues if there are any.

1. Sorting Since I have a bit more time, I tried to fix the artist sorting by splitting the artist and the group as suggested (I settled on "Group" since it's the term used on EHen or Nhen). As for now, I can sort by artist and by group. The List View even have a new Group column.

Sort (See edf68cb9fe4ccd49c4ca2299f46ffbe783eeeb4e)

There's still some edge cases like when more than 1 artist or group is specified in the name, but I'm not sure I'll take care of that.

I may add later a pre-release with this fix if I don't find any problem.

2. Fetching As for the second problem, I still didn't work on that, so I don't know if it will be an easy fix or not.

CyanLeader commented 5 years ago

Much appreciated.

Question though, will it be able to go through already added entries and make the split? Or will the split only occur when adding new items?

Kramoule commented 5 years ago

It'll work with your library as it is. The artist name in the database is still formatted "Group (artist)" and it's only on runtime that the program take that name and split it into different fields (if applicable).

I was afraid it could take too much time (it's essentially parsing each name each time you start HP) but I could load my ~3000 galleries in ~1s on my i5-4670 (2013), so it shouldn't be a problem.

CyanLeader commented 5 years ago

Ah I see. Wouldn't it be better to have that as a choice, as in have a button on the settings to apply the changes to already added libraries? Of course it should be always on for when adding new ones though. Anyway, thanks for this.

Kramoule commented 5 years ago

I don't think there's a need for that. There's no difference with old and new galleries with this change. New galleries will be added and stored in the exact same way as the old ones. The Group and Author field will both fetch the same data (the whole name) and get what they need.