From b846f56c3a4017c0faee6feae95336a8ae412ad9 Mon Sep 17 00:00:00 2001 From: HRXN Date: Thu, 5 Oct 2023 12:18:58 +0200 Subject: [PATCH] [imgbb] Fix `user` extraction, add `displayname` --- gallery_dl/extractor/imgbb.py | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/gallery_dl/extractor/imgbb.py b/gallery_dl/extractor/imgbb.py index 1b741802..282f8be7 100644 --- a/gallery_dl/extractor/imgbb.py +++ b/gallery_dl/extractor/imgbb.py @@ -124,12 +124,14 @@ class ImgbbAlbumExtractor(ImgbbExtractor): self.page_url = "https://ibb.co/album/" + self.album_id def metadata(self, page): - album, pos = text.extract(page, '"og:title" content="', '"') - user , pos = text.extract(page, 'rel="author">', '<', pos) + album , pos = text.extract(page, '"og:title" content="', '"') + user , pos = text.extract(page, ',"username":"', '"', pos) + displayname, pos = text.extract(page, '"user":{"name":"', '"') return { - "album_id" : self.album_id, - "album_name": text.unescape(album), - "user" : user.lower() if user else "", + "album_id" : self.album_id, + "album_name" : text.unescape(album), + "user" : user.lower() if user else "", + "displayname": displayname if displayname else "", } def images(self, page): @@ -158,7 +160,11 @@ class ImgbbUserExtractor(ImgbbExtractor): self.page_url = "https://{}.imgbb.com/".format(self.user) def metadata(self, page): - return {"user": self.user} + displayname, pos = text.extract(page, '"user":{"name":"', '"') + return { + "user" : self.user, + "displayname": displayname if displayname else "", + } def images(self, page): user = text.extr(page, '.obj.resource={"id":"', '"') @@ -185,11 +191,11 @@ class ImgbbImageExtractor(ImgbbExtractor): image = { "id" : self.image_id, - "title" : text.unescape(extr('"og:title" content="', '"')), + "title" : text.unescape(extr('"og:title" content="', ' hosted at ImgBB"')), "url" : extr('"og:image" content="', '"'), "width" : text.parse_int(extr('"og:image:width" content="', '"')), "height": text.parse_int(extr('"og:image:height" content="', '"')), - "user" : extr('rel="author">', '<').lower(), + "user" : extr(',"username":"', '"').lower(), } image["extension"] = text.ext_from_url(image["url"])