NguyenDanPhuong / MangaRipper

This software helps you download manga (Japanese Comic) from several websites for your offline viewing.
MIT License
189 stars 43 forks source link

Should the program really stop if it encounters problems with specific image ? #130

Open Danatobob opened 6 years ago

Danatobob commented 6 years ago

Right now, for example, if there is a bad image url (which causes exception) at the end of the chapter the program would discard everything it downloaded for that chapter (it remains in temporary folder) and abort the download process. If something went wrong with plugin/application I'd rather have incomplete chapter and manually download missing images (if they really are downloadable) than not have anything. Perhaps a file with invalid urls should be created in the chapter's folder for user to be aware that the chapter is/might be incomplete.

GambitKZ commented 6 years ago

And what if other chapters in the queue will get the errors and you have a lot of empty folders (or folders with 2-3 pages). However, I completely agree that if you have a situation when you get the one error page each 10-20 chapter when the current behavior is annoying.

We need to get some kind of compromise here. Your idea with the file is not bad, but I think we need to add an additional condition. e.g. if we get 5 errors in one chapter - throw an exception.

Danatobob commented 6 years ago

And what if other chapters in the queue will get the errors and you have a lot of empty folders (or folders with 2-3 pages).

Well, we are still screwed if the plugin doesn't work well for that site, so either we get nothing at all and close the program or get something that it was able to download and manually try to get the rest. I'm mainly looking at it from the user's standpoint. We can't fix the program by using it's UI and so we are helpless if it throws an error. The main point of this program, as I see it, is automation of otherwise long and tedious process of downloading images from chapter pages. If it fails at some images, at least it should provide whatever it managed to download in an attempt to still be as useful as possible to the user, who would just do everything manually otherwise. Maybe that's just my use-case though, as I needed manga images to create fan edit content - other users might just read the bad chapter online (although re-reading later partially offline and online manga would be inconvenient).
The other important point that I did not cover yet is that websites do change and the plugin might be too outdated to provide flawless extraction of images. We can't expect this application to have some kind of support to quickly help users with outdated plugins, so I think if the user strongly needs to have the whole chapter offline, the program should provide him with whatever it could get via the plugin. That way even with half-dead plugins the program would still be viable. I know that I'm kinda making a big deal out of it when it's just a minor annoyance, but I'm trying to look at the bigger picture. Since I'm a programmer it was easy for me to fix my plugin and I would be able to fix it again in the future, but we can't expect users to be able to do that as well.

We need to get some kind of compromise here. Your idea with the file is not bad, but I think we need to add an additional condition. e.g. if we get 5 errors in one chapter - throw an exception.

Ideally there should be some setting regarding this. So that anyone can configure it according to their priorities. In my use-case I just need to squeeze as much as possible to reduce the manual work.