ArdaxHz / mdownloader

MangaDex downloader using python. Forked from the repo linked
https://gitlab.com/hitoribocchi/mdownloader
GNU General Public License v3.0
9 stars 1 forks source link

Externals failing #8

Closed NLZ closed 3 years ago

NLZ commented 3 years ago
Traceback (most recent call last):
  File "C:\Users\nlz\Code\mdownloader\mdownloader.py", line 120, in <module>
    before_main(args.id, args.language, args.directory, args.type, args.folder, args.save_format, args.covers)
  File "C:\Users\nlz\Code\mdownloader\mdownloader.py", line 102, in before_main
    main(id, language, directory, type, folder, save_format, covers)
  File "C:\Users\nlz\Code\mdownloader\components\main.py", line 103, in main
    typeChecker(id, language, route, type, make_folder, save_format, covers)
  File "C:\Users\nlz\Code\mdownloader\components\main.py", line 20, in typeChecker
    downloadChapter(id, route, 0, '', make_folder, save_format, '')
  File "C:\Users\nlz\Code\mdownloader\components\downloader.py", line 124, in downloadChapter
    MangaPlus(chapter_data, type, instance, json_file).plusImages()
  File "C:\Users\nlz\Code\mdownloader\components\mangaplus.py", line 16, in __init__
    self.api_url = self.idChecker()
  File "C:\Users\nlz\Code\mdownloader\components\mangaplus.py", line 21, in idChecker
    mplus_id = mplus_url.match(self.chapter_data["external"]).group(1)
KeyError: 'external'

https://github.com/Rudoal/mdownloader/blob/9114ed091215d9da60ee2f2526c78d6c9a214065/components/mangaplus.py#L21-L22

Mangaplus jsons has no external fields (example: https://mangadex.org/api/v2/chapter/1109506?saver=0), only pages contains the external chapter link with the mplus_id, which I guess needs to be extracted. That would be valid because the example has "pages":"https:\/\/mangaplus.shueisha.co.jp\/viewer\/1007603" and https://jumpg-webapi.tokyo-cdn.com/api/manga_viewer?chapter_id=1007603&split=no&img_quality=super_high is valid.

ArdaxHz commented 3 years ago

lmao, this was fixed in 2.7.2 as well, I was gonna push the update tomorrow, but I guess I'll do it now.