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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
/// A nsfw category of images.
// On new variants, update the all_nsfw_endpoints_work and no_new_images tests
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub enum NsfwCategory {
    RandomHentaiGif,
    Pussy,
    NekoGif,
    Neko,
    Lesbian,
    Kuni,
    Cumsluts,
    Classic,
    Boobs,
    Bj,
    Anal,
    Avatar,
    Yuri,
    Trap,
    Tits,
    GirlSoloGif,
    GirlSolo,
    PussyWankGif,
    PussyArt,
    Kemonomimi,
    Kitsune,
    Keta,
    Holo,
    HoloEro,
    Hentai,
    Futanari,
    Femdom,
    FeetGif,
    EroFeet,
    Feet,
    Ero,
    EroKitsune,
    EroKemonomimi,
    EroNeko,
    EroYuri,
    CumArts,
    BlowJob,
    Spank,
    Gasm,
    #[deprecated(
        note = "always returns https://cdn.nekos.life/smallboobs/404.png; this is only here for completeness"
    )]
    SmallBoobs,
}

impl NsfwCategory {
    pub const fn to_url_path(self) -> &'static str {
        use NsfwCategory::*;
        match self {
            RandomHentaiGif => "Random_hentai_gif",
            Pussy => "pussy",
            NekoGif => "nsfw_neko_gif",
            Neko => "lewd",
            Lesbian => "les",
            Kuni => "kuni",
            Cumsluts => "cum",
            Classic => "classic",
            Boobs => "boobs",
            Bj => "bj",
            Anal => "anal",
            Avatar => "nsfw_avatar",
            Yuri => "yuri",
            Trap => "trap",
            Tits => "tits",
            GirlSoloGif => "solog",
            GirlSolo => "solo",
            PussyWankGif => "pwankg",
            PussyArt => "pussy_jpg",
            Kemonomimi => "lewdkemo",
            Kitsune => "lewdk",
            Keta => "keta",
            Holo => "hololewd",
            HoloEro => "holoero",
            Hentai => "hentai",
            Futanari => "futanari",
            Femdom => "femdom",
            FeetGif => "feetg",
            EroFeet => "erofeet",
            Feet => "feet",
            Ero => "ero",
            EroKitsune => "erok",
            EroKemonomimi => "erokemo",
            EroNeko => "eron",
            EroYuri => "eroyuri",
            CumArts => "cum_jpg",
            BlowJob => "blowjob",
            Spank => "spank",
            Gasm => "gasm",
            #[allow(deprecated)]
            SmallBoobs => "smallboobs",
        }
    }
}