summaryrefslogtreecommitdiffstatshomepage
path: root/src/hircine/plugins/scrapers/handlers/dynastyscans.py
blob: fd9bf422c54b7f32dc30c03a54603ca2ed47a4f8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
from hircine.scraper.types import (
    Artist,
    Circle,
    Date,
    Language,
    Title,
)
from hircine.scraper.utils import parse_dict


class DynastyScansHandler:
    source = "dynastyscans"

    def scrape(self, data):
        parsers = {
            "date": Date.from_iso,
            "lang": Language.from_iso_639_3,
            "author": Artist,
            "group": Circle,
        }

        yield from parse_dict(parsers, data)

        if manga := data.get("manga"):
            title = manga

            if chapter := data.get("chapter"):
                title = title + f" Ch. {chapter}"

            if subtitle := data.get("title"):
                title = title + f": {subtitle}"

            yield Title(title)