# -*- coding: utf-8 -*- # Copyright 2015-2019 Mike Fährmann # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 as # published by the Free Software Foundation. """Extract images from https://hitomi.la/""" from .common import GalleryExtractor from .. import text, util import string class HitomiGalleryExtractor(GalleryExtractor): """Extractor for image galleries from hitomi.la""" category = "hitomi" pattern = r"(?:https?://)?hitomi\.la/(?:galleries|reader)/(\d+)" test = ( ("https://hitomi.la/galleries/867789.html", { "url": "cb759868d090fe0e2655c3e29ebf146054322b6d", "keyword": "07536afc5696cb4983a4831ab4c70c1d155f875c", }), ("https://hitomi.la/galleries/1036181.html", { # "aa" subdomain for gallery-id ending in 1 (#142) "pattern": r"https://aa\.hitomi\.la/", }), ("https://hitomi.la/galleries/1401410.html", { # download test "range": "1", "content": "b3ca8c6c8cc5826cf8b4ceb7252943abad7b8b4c", }), ("https://hitomi.la/reader/867789.html"), ) def __init__(self, match): self.gallery_id = text.parse_int(match.group(1)) url = "https://hitomi.la/galleries/{}.html".format(self.gallery_id) GalleryExtractor.__init__(self, match, url) def metadata(self, page): extr = text.extract_from(page, page.index('