mirror of
https://github.com/mikf/gallery-dl.git
synced 2024-11-22 02:32:33 +01:00
[koharu] implement 'tags' option
This commit is contained in:
parent
ddd325b435
commit
cb09273670
@ -1058,7 +1058,8 @@ Description
|
|||||||
extractor.*.postprocessors
|
extractor.*.postprocessors
|
||||||
--------------------------
|
--------------------------
|
||||||
Type
|
Type
|
||||||
``list`` of |Postprocessor Configuration|_ objects
|
* |Postprocessor Configuration|_ object
|
||||||
|
* ``list`` of |Postprocessor Configuration|_ objects
|
||||||
Example
|
Example
|
||||||
.. code:: json
|
.. code:: json
|
||||||
|
|
||||||
@ -2363,6 +2364,18 @@ Description
|
|||||||
* ``"hitomi"``: Download the corresponding gallery from ``hitomi.la``
|
* ``"hitomi"``: Download the corresponding gallery from ``hitomi.la``
|
||||||
|
|
||||||
|
|
||||||
|
extractor.exhentai.tags
|
||||||
|
-----------------------
|
||||||
|
Type
|
||||||
|
``bool``
|
||||||
|
Default
|
||||||
|
``false``
|
||||||
|
Description
|
||||||
|
Group ``tags`` by type and
|
||||||
|
provide them as ``tags_<type>`` metadata fields,
|
||||||
|
for example ``tags_artist`` or ``tags_character``.
|
||||||
|
|
||||||
|
|
||||||
extractor.fanbox.comments
|
extractor.fanbox.comments
|
||||||
-------------------------
|
-------------------------
|
||||||
Type
|
Type
|
||||||
@ -3032,6 +3045,18 @@ Description
|
|||||||
| ``"780"``, ``"980"``, ``"1280"``, ``"1600"``, ``"0"`` (original)
|
| ``"780"``, ``"980"``, ``"1280"``, ``"1600"``, ``"0"`` (original)
|
||||||
|
|
||||||
|
|
||||||
|
extractor.koharu.tags
|
||||||
|
---------------------
|
||||||
|
Type
|
||||||
|
``bool``
|
||||||
|
Default
|
||||||
|
``false``
|
||||||
|
Description
|
||||||
|
Group ``tags`` by type and
|
||||||
|
provide them as ``tags_<type>`` metadata fields,
|
||||||
|
for example ``tags_artist`` or ``tags_character``.
|
||||||
|
|
||||||
|
|
||||||
extractor.lolisafe.domain
|
extractor.lolisafe.domain
|
||||||
-------------------------
|
-------------------------
|
||||||
Type
|
Type
|
||||||
@ -5156,8 +5181,9 @@ Type
|
|||||||
Default
|
Default
|
||||||
``false``
|
``false``
|
||||||
Description
|
Description
|
||||||
Categorize tags by their respective types
|
Group ``tags`` by type and
|
||||||
and provide them as ``tags_<type>`` metadata fields.
|
provide them as ``tags_<type>`` metadata fields,
|
||||||
|
for example ``tags_artist`` or ``tags_character``.
|
||||||
|
|
||||||
Note: This requires 1 additional HTTP request per post.
|
Note: This requires 1 additional HTTP request per post.
|
||||||
|
|
||||||
|
@ -11,6 +11,7 @@
|
|||||||
from .common import GalleryExtractor, Extractor, Message
|
from .common import GalleryExtractor, Extractor, Message
|
||||||
from .. import text, exception
|
from .. import text, exception
|
||||||
from ..cache import cache
|
from ..cache import cache
|
||||||
|
import collections
|
||||||
|
|
||||||
BASE_PATTERN = (
|
BASE_PATTERN = (
|
||||||
r"(?i)(?:https?://)?("
|
r"(?i)(?:https?://)?("
|
||||||
@ -108,14 +109,24 @@ class KoharuGalleryExtractor(KoharuExtractor, GalleryExtractor):
|
|||||||
url = "{}/books/detail/{}/{}".format(
|
url = "{}/books/detail/{}/{}".format(
|
||||||
self.root_api, self.groups[1], self.groups[2])
|
self.root_api, self.groups[1], self.groups[2])
|
||||||
self.data = data = self.request(url, headers=self.headers).json()
|
self.data = data = self.request(url, headers=self.headers).json()
|
||||||
|
data["date"] = text.parse_timestamp(data["created_at"] // 1000)
|
||||||
|
|
||||||
tags = []
|
tags = []
|
||||||
for tag in data["tags"]:
|
types = self.TAG_TYPES
|
||||||
|
tags_data = data["tags"]
|
||||||
|
|
||||||
|
for tag in tags_data:
|
||||||
name = tag["name"]
|
name = tag["name"]
|
||||||
namespace = tag.get("namespace", 0)
|
namespace = tag.get("namespace", 0)
|
||||||
tags.append(self.TAG_TYPES[namespace] + ":" + name)
|
tags.append(types[namespace] + ":" + name)
|
||||||
data["tags"] = tags
|
data["tags"] = tags
|
||||||
data["date"] = text.parse_timestamp(data["created_at"] // 1000)
|
|
||||||
|
if self.config("tags", False):
|
||||||
|
tags = collections.defaultdict(list)
|
||||||
|
for tag in tags_data :
|
||||||
|
tags[tag.get("namespace", 0)].append(tag["name"])
|
||||||
|
for type, values in tags.items():
|
||||||
|
data["tags_" + types[type]] = values
|
||||||
|
|
||||||
try:
|
try:
|
||||||
if self.cbz:
|
if self.cbz:
|
||||||
|
@ -12,6 +12,7 @@ __tests__ = (
|
|||||||
"#url" : "https://niyaniya.moe/g/14216/6c67076fdd45",
|
"#url" : "https://niyaniya.moe/g/14216/6c67076fdd45",
|
||||||
"#category": ("", "koharu", "gallery"),
|
"#category": ("", "koharu", "gallery"),
|
||||||
"#class" : koharu.KoharuGalleryExtractor,
|
"#class" : koharu.KoharuGalleryExtractor,
|
||||||
|
"#options" : {"tags": True},
|
||||||
"#pattern" : r"https://kisakisexo.xyz/download/59896/a4fbd1828229/f47639c6abaf1903dd69c36a3d961da84741a1831aa07a2906ce9c74156a5d75\?v=1721626410802&w=0",
|
"#pattern" : r"https://kisakisexo.xyz/download/59896/a4fbd1828229/f47639c6abaf1903dd69c36a3d961da84741a1831aa07a2906ce9c74156a5d75\?v=1721626410802&w=0",
|
||||||
"#count" : 1,
|
"#count" : 1,
|
||||||
|
|
||||||
@ -43,6 +44,36 @@ __tests__ = (
|
|||||||
"other:uncensored",
|
"other:uncensored",
|
||||||
"other:vanilla",
|
"other:vanilla",
|
||||||
],
|
],
|
||||||
|
"tags_artist": [
|
||||||
|
"ouchi kaeru",
|
||||||
|
],
|
||||||
|
"tags_female": [
|
||||||
|
"busty",
|
||||||
|
],
|
||||||
|
"tags_general": [
|
||||||
|
"beach",
|
||||||
|
"booty",
|
||||||
|
"dark skin",
|
||||||
|
"fingering",
|
||||||
|
"handjob",
|
||||||
|
"light hair",
|
||||||
|
"nakadashi",
|
||||||
|
"outdoors",
|
||||||
|
"ponytail",
|
||||||
|
"swimsuit",
|
||||||
|
"x-ray",
|
||||||
|
],
|
||||||
|
"tags_language": [
|
||||||
|
"english",
|
||||||
|
"translated",
|
||||||
|
],
|
||||||
|
"tags_magazine": [
|
||||||
|
"comic kairakuten 2024-08",
|
||||||
|
],
|
||||||
|
"tags_other": [
|
||||||
|
"uncensored",
|
||||||
|
"vanilla",
|
||||||
|
],
|
||||||
"title" : "[Ouchi Kaeru] Summer Business (Comic Kairakuten 2024-08)",
|
"title" : "[Ouchi Kaeru] Summer Business (Comic Kairakuten 2024-08)",
|
||||||
"updated_at": 1721626410802,
|
"updated_at": 1721626410802,
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user