mirror of
https://github.com/mikf/gallery-dl.git
synced 2024-11-21 18:22:30 +01:00
commit
ddd325b435
@ -511,12 +511,6 @@ Consider all listed sites to potentially be NSFW.
|
||||
<td>Soundtracks</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Koharu</td>
|
||||
<td>https://koharu.to/</td>
|
||||
<td>Favorites, Galleries, Search Results</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Komikcast</td>
|
||||
<td>https://komikcast.cz/</td>
|
||||
@ -829,6 +823,12 @@ Consider all listed sites to potentially be NSFW.
|
||||
<td>Articles, Tag Searches</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>SchaleNetwork</td>
|
||||
<td>https://niyaniya.moe/</td>
|
||||
<td>Favorites, Galleries, Search Results</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Scrolller</td>
|
||||
<td>https://scrolller.com/</td>
|
||||
|
@ -6,20 +6,26 @@
|
||||
# it under the terms of the GNU General Public License version 2 as
|
||||
# published by the Free Software Foundation.
|
||||
|
||||
"""Extractors for https://koharu.to/"""
|
||||
"""Extractors for https://niyaniya.moe/"""
|
||||
|
||||
from .common import GalleryExtractor, Extractor, Message
|
||||
from .. import text, exception
|
||||
from ..cache import cache
|
||||
|
||||
BASE_PATTERN = r"(?i)(?:https?://)?(?:koharu|anchira)\.to"
|
||||
BASE_PATTERN = (
|
||||
r"(?i)(?:https?://)?("
|
||||
r"(?:niyaniya|shupogaki)\.moe|"
|
||||
r"(?:koharu|anchira|seia)\.to|"
|
||||
r"(?:hoshino)\.one"
|
||||
r")"
|
||||
)
|
||||
|
||||
|
||||
class KoharuExtractor(Extractor):
|
||||
"""Base class for koharu extractors"""
|
||||
category = "koharu"
|
||||
root = "https://koharu.to"
|
||||
root_api = "https://api.koharu.to"
|
||||
root = "https://niyaniya.moe"
|
||||
root_api = "https://api.schale.network"
|
||||
request_interval = (0.5, 1.5)
|
||||
|
||||
def _init(self):
|
||||
@ -62,7 +68,7 @@ class KoharuGalleryExtractor(KoharuExtractor, GalleryExtractor):
|
||||
archive_fmt = "{id}_{num}"
|
||||
request_interval = 0.0
|
||||
pattern = BASE_PATTERN + r"/(?:g|reader)/(\d+)/(\w+)"
|
||||
example = "https://koharu.to/g/12345/67890abcde/"
|
||||
example = "https://niyaniya.moe/g/12345/67890abcde/"
|
||||
|
||||
TAG_TYPES = {
|
||||
0 : "general",
|
||||
@ -100,7 +106,7 @@ class KoharuGalleryExtractor(KoharuExtractor, GalleryExtractor):
|
||||
|
||||
def metadata(self, _):
|
||||
url = "{}/books/detail/{}/{}".format(
|
||||
self.root_api, self.groups[0], self.groups[1])
|
||||
self.root_api, self.groups[1], self.groups[2])
|
||||
self.data = data = self.request(url, headers=self.headers).json()
|
||||
|
||||
tags = []
|
||||
@ -179,11 +185,11 @@ class KoharuGalleryExtractor(KoharuExtractor, GalleryExtractor):
|
||||
break
|
||||
except KeyError:
|
||||
self.log.debug("%s: Format %s is not available",
|
||||
self.groups[0], fmtid)
|
||||
self.groups[1], fmtid)
|
||||
else:
|
||||
raise exception.NotFoundError("format")
|
||||
|
||||
self.log.debug("%s: Selected format %s", self.groups[0], fmtid)
|
||||
self.log.debug("%s: Selected format %s", self.groups[1], fmtid)
|
||||
fmt["w"] = fmtid
|
||||
return fmt
|
||||
|
||||
@ -192,10 +198,10 @@ class KoharuSearchExtractor(KoharuExtractor):
|
||||
"""Extractor for koharu search results"""
|
||||
subcategory = "search"
|
||||
pattern = BASE_PATTERN + r"/\?([^#]*)"
|
||||
example = "https://koharu.to/?s=QUERY"
|
||||
example = "https://niyaniya.moe/?s=QUERY"
|
||||
|
||||
def items(self):
|
||||
params = text.parse_query(self.groups[0])
|
||||
params = text.parse_query(self.groups[1])
|
||||
params["page"] = text.parse_int(params.get("page"), 1)
|
||||
return self._pagination("/books", params)
|
||||
|
||||
@ -204,12 +210,12 @@ class KoharuFavoriteExtractor(KoharuExtractor):
|
||||
"""Extractor for koharu favorites"""
|
||||
subcategory = "favorite"
|
||||
pattern = BASE_PATTERN + r"/favorites(?:\?([^#]*))?"
|
||||
example = "https://koharu.to/favorites"
|
||||
example = "https://niyaniya.moe/favorites"
|
||||
|
||||
def items(self):
|
||||
self.login()
|
||||
|
||||
params = text.parse_query(self.groups[0])
|
||||
params = text.parse_query(self.groups[1])
|
||||
params["page"] = text.parse_int(params.get("page"), 1)
|
||||
return self._pagination("/favorites", params)
|
||||
|
||||
@ -226,7 +232,7 @@ class KoharuFavoriteExtractor(KoharuExtractor):
|
||||
def _login_impl(self, username, password):
|
||||
self.log.info("Logging in as %s", username)
|
||||
|
||||
url = "https://auth.koharu.to/login"
|
||||
url = "https://auth.schale.network/login"
|
||||
data = {"uname": username, "passwd": password}
|
||||
response = self.request(
|
||||
url, method="POST", headers=self.headers, data=data)
|
||||
|
@ -84,6 +84,7 @@ CATEGORY_MAP = {
|
||||
"jpgfish" : "JPG Fish",
|
||||
"kabeuchi" : "かべうち",
|
||||
"kemonoparty" : "Kemono",
|
||||
"koharu" : "SchaleNetwork",
|
||||
"livedoor" : "livedoor Blog",
|
||||
"ohpolly" : "Oh Polly",
|
||||
"omgmiamiswimwear": "Omg Miami Swimwear",
|
||||
|
@ -9,7 +9,7 @@ from gallery_dl.extractor import koharu
|
||||
|
||||
__tests__ = (
|
||||
{
|
||||
"#url" : "https://koharu.to/g/14216/6c67076fdd45",
|
||||
"#url" : "https://niyaniya.moe/g/14216/6c67076fdd45",
|
||||
"#category": ("", "koharu", "gallery"),
|
||||
"#class" : koharu.KoharuGalleryExtractor,
|
||||
"#pattern" : r"https://kisakisexo.xyz/download/59896/a4fbd1828229/f47639c6abaf1903dd69c36a3d961da84741a1831aa07a2906ce9c74156a5d75\?v=1721626410802&w=0",
|
||||
@ -48,7 +48,7 @@ __tests__ = (
|
||||
},
|
||||
|
||||
{
|
||||
"#url" : "https://koharu.to/g/14216/6c67076fdd45",
|
||||
"#url" : "https://niyaniya.moe/g/14216/6c67076fdd45",
|
||||
"#category": ("", "koharu", "gallery"),
|
||||
"#class" : koharu.KoharuGalleryExtractor,
|
||||
"#options" : {"cbz": False, "format": "780"},
|
||||
@ -57,7 +57,7 @@ __tests__ = (
|
||||
},
|
||||
|
||||
{
|
||||
"#url" : "https://koharu.to/g/14216/6c67076fdd45",
|
||||
"#url" : "https://niyaniya.moe/g/14216/6c67076fdd45",
|
||||
"#category": ("", "koharu", "gallery"),
|
||||
"#class" : koharu.KoharuGalleryExtractor,
|
||||
"#options" : {"cbz": False, "format": "780"},
|
||||
@ -66,19 +66,34 @@ __tests__ = (
|
||||
},
|
||||
|
||||
{
|
||||
"#url" : "https://anchira.to/g/14216/6c67076fdd45",
|
||||
"#url" : "https://koharu.to/g/14216/6c67076fdd45",
|
||||
"#class": koharu.KoharuGalleryExtractor,
|
||||
},
|
||||
{
|
||||
"#url" : "https://anchira.to/g/14216/6c67076fdd45",
|
||||
"#class": koharu.KoharuGalleryExtractor,
|
||||
},
|
||||
{
|
||||
"#url" : "https://seia.to/g/14216/6c67076fdd45",
|
||||
"#class": koharu.KoharuGalleryExtractor,
|
||||
},
|
||||
{
|
||||
"#url" : "https://shupogaki.moe/g/14216/6c67076fdd45",
|
||||
"#class": koharu.KoharuGalleryExtractor,
|
||||
},
|
||||
{
|
||||
"#url" : "https://hoshino.one/g/14216/6c67076fdd45",
|
||||
"#class": koharu.KoharuGalleryExtractor,
|
||||
},
|
||||
|
||||
{
|
||||
"#url" : "https://niyaniya.moe/reader/14216/6c67076fdd45",
|
||||
"#category": ("", "koharu", "gallery"),
|
||||
"#class" : koharu.KoharuGalleryExtractor,
|
||||
},
|
||||
|
||||
{
|
||||
"#url" : "https://koharu.to/reader/14216/6c67076fdd45",
|
||||
"#category": ("", "koharu", "gallery"),
|
||||
"#class" : koharu.KoharuGalleryExtractor,
|
||||
},
|
||||
|
||||
{
|
||||
"#url" : "https://koharu.to/?s=tag:^beach$",
|
||||
"#url" : "https://niyaniya.moe/?s=tag:^beach$",
|
||||
"#category": ("", "koharu", "search"),
|
||||
"#class" : koharu.KoharuSearchExtractor,
|
||||
"#pattern" : koharu.KoharuGalleryExtractor.pattern,
|
||||
@ -86,24 +101,24 @@ __tests__ = (
|
||||
},
|
||||
|
||||
{
|
||||
"#url" : "https://koharu.to/favorites",
|
||||
"#url" : "https://niyaniya.moe/favorites",
|
||||
"#category": ("", "koharu", "favorite"),
|
||||
"#class" : koharu.KoharuFavoriteExtractor,
|
||||
"#pattern" : koharu.KoharuGalleryExtractor.pattern,
|
||||
"#auth" : True,
|
||||
"#urls" : [
|
||||
"https://koharu.to/g/14216/6c67076fdd45",
|
||||
"https://niyaniya.moe/g/14216/6c67076fdd45",
|
||||
],
|
||||
},
|
||||
|
||||
{
|
||||
"#url" : "https://koharu.to/favorites?cat=6&sort=4",
|
||||
"#url" : "https://niyaniya.moe/favorites?cat=6&sort=4",
|
||||
"#category": ("", "koharu", "favorite"),
|
||||
"#class" : koharu.KoharuFavoriteExtractor,
|
||||
"#pattern" : koharu.KoharuGalleryExtractor.pattern,
|
||||
"#auth" : True,
|
||||
"#urls" : [
|
||||
"https://koharu.to/g/14216/6c67076fdd45",
|
||||
"https://niyaniya.moe/g/14216/6c67076fdd45",
|
||||
],
|
||||
},
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user