[scripts/init] handle subdomains when building BASE_PATTERN
This commit is contained in:
@@ -117,7 +117,7 @@ class {ccat}Base():
|
|||||||
|
|
||||||
class {ccat}ChapterExtractor({ccat}Base, ChapterExtractor):
|
class {ccat}ChapterExtractor({ccat}Base, ChapterExtractor):
|
||||||
"""Extractor for {cat} manga chapters"""
|
"""Extractor for {cat} manga chapters"""
|
||||||
pattern = BASE_PATTERN + r"/PATH"
|
pattern = rf"{{BASE_PATTERN}}/PATH"
|
||||||
example = ""
|
example = ""
|
||||||
|
|
||||||
def __init__(self, match):
|
def __init__(self, match):
|
||||||
@@ -149,7 +149,7 @@ class {ccat}ChapterExtractor({ccat}Base, ChapterExtractor):
|
|||||||
class {ccat}MangaExtractor({ccat}Base, MangaExtractor):
|
class {ccat}MangaExtractor({ccat}Base, MangaExtractor):
|
||||||
"""Extractor for {cat} manga"""
|
"""Extractor for {cat} manga"""
|
||||||
chapterclass = {ccat}ChapterExtractor
|
chapterclass = {ccat}ChapterExtractor
|
||||||
pattern = BASE_PATTERN + r"/PATH"
|
pattern = rf"{{BASE_PATTERN}}/PATH"
|
||||||
example = ""
|
example = ""
|
||||||
|
|
||||||
def __init__(self, match):
|
def __init__(self, match):
|
||||||
@@ -198,8 +198,19 @@ class {ccat}UserExtractor(Dispatch, {ccat}Extractor)
|
|||||||
|
|
||||||
|
|
||||||
def build_base_pattern(opts):
|
def build_base_pattern(opts):
|
||||||
|
domain = opts["domain"]
|
||||||
|
if domain.count(".") > 1:
|
||||||
|
subdomain, domain, tld = domain.rsplit(".", 2)
|
||||||
|
domain = f"{domain}.{tld}"
|
||||||
|
if subdomain == "www":
|
||||||
|
subdomain = "(?:www\\.)?"
|
||||||
|
else:
|
||||||
|
subdomain = re.escape(subdomain + ".")
|
||||||
|
else:
|
||||||
|
subdomain = "(?:www\\.)?"
|
||||||
|
|
||||||
return f"""\
|
return f"""\
|
||||||
BASE_PATTERN = r"(?:https?://)?(?:www\\.)?{re.escape(opts["domain"])}"
|
BASE_PATTERN = r"(?:https?://)?{subdomain}{re.escape(domain)}"
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user