diff --git a/gallery_dl/extractor/imgur.py b/gallery_dl/extractor/imgur.py index 8dc71b81..5515c509 100644 --- a/gallery_dl/extractor/imgur.py +++ b/gallery_dl/extractor/imgur.py @@ -29,44 +29,41 @@ class ImgurExtractor(Extractor): self.album = match.group(1) def items(self): - page = self.request("https://imgur.com/a/" + self.album).text - data = self.get_job_metadata(page) - images = self.get_images(page) - data["count"] = len(images) + data = self.get_job_metadata() yield Message.Version, 1 yield Message.Directory, data - for image in images: - data.update(image) - yield Message.Url, image["url"], data + for num, url in enumerate(self.get_image_urls(), 1): + name, ext = os.path.splitext(url[20:]) + data["num"] = num + data["name"] = name + data["extension"] = ext[1:] + yield Message.Url, url, data - def get_job_metadata(self, page): + def get_job_metadata(self): """Collect metadata for extractor-job""" - title, _ = text.extract(page, '', '')[1] + while True: + url, pos = text.extract(page, '