diff --git a/gallery_dl/extractor/__init__.py b/gallery_dl/extractor/__init__.py index ebc2341a..ef52593d 100644 --- a/gallery_dl/extractor/__init__.py +++ b/gallery_dl/extractor/__init__.py @@ -73,6 +73,7 @@ modules = [ "kissgoddess", "kohlchan", "komikcast", + "lensdump", "lightroom", "lineblog", "livedoor", diff --git a/gallery_dl/extractor/jpgchurch.py b/gallery_dl/extractor/jpgchurch.py index e0105f26..dc848d3a 100644 --- a/gallery_dl/extractor/jpgchurch.py +++ b/gallery_dl/extractor/jpgchurch.py @@ -12,75 +12,37 @@ from .. import text BASE_PATTERN = r"(?:https?://)?jpg\.church" -class JpgchurchImageExtractor(Extractor): - """Base Extractor for Jpgchurch Images""" - category = "Jpgchurch" - subcategory = "image" - directory_fmt = ("{category}", "{user}") - filename_fmt = "{filename}" - pattern = BASE_PATTERN + r"/img/([\w\d\-\.]+)" +class JpgchurchExtractor(Extractor): + """Base class for Jpgchurch extractors""" + category = "jpgchurch" root = "https://jpg.church" - test = ("https://jpg.church/img/funnymeme.LecXGS",) + directory_fmt = ("{category}", "{user}",) + archive_fmt = "{filename}" def __init__(self, match): Extractor.__init__(self, match) - self.image = match.group(1) def items(self): - data = self.metadata() for image in self.images(): - if "album" in image or "user" in image: - data.update(image) - yield Message.Directory, data + yield Message.Directory, image yield Message.Url, image["url"], image - def metadata(self): - """Return general metadata""" - return {} - def images(self): """Return an iterable containing the image(s)""" - url = "{}/img/{}".format(self.root, self.image) - return [self._get_images(url)] - - def _get_images(self, url): - page = self.request(url).text - data = self._extract_image(page) - data.update({ - "user": data["user"].split("/")[-1], - "extension": text.ext_from_url(data["url"]) - }) - return data @staticmethod - def _extract_image(page): - _page = text.extract( - page, - '