diff --git a/docs/supportedsites.md b/docs/supportedsites.md index 8e631168..134fda26 100644 --- a/docs/supportedsites.md +++ b/docs/supportedsites.md @@ -31,12 +31,6 @@ Consider all sites to be NSFW unless otherwise known. Boards, Threads - - 4plebs - https://archive.4plebs.org/ - Boards, Search Results, Threads - - 500px https://500px.com/ @@ -73,42 +67,12 @@ Consider all sites to be NSFW unless otherwise known. Galleries - - Allgirlbooru - https://allgirl.booru.org/ - Posts, Tag Searches - - - - arch.b4k.co - https://arch.b4k.co/ - Boards, Search Results, Threads - - - - Archive of Sins - https://archiveofsins.com/ - Boards, Search Results, Threads - - - - Archived.Moe - https://archived.moe/ - Boards, Search Results, Threads - - ArtStation https://www.artstation.com/ Albums, Artwork Listings, Challenges, individual Images, Likes, Search Results, User Profiles - - baraag - https://baraag.net/ - Images from Statuses, User Profiles - OAuth - Behance https://www.behance.net/ @@ -139,24 +103,12 @@ Consider all sites to be NSFW unless otherwise known. Galleries, Posts, Search Results API Key - - Desuarchive - https://desuarchive.org/ - Boards, Search Results, Threads - - DeviantArt https://www.deviantart.com/ Collections, Deviations, Favorites, Folders, Galleries, Journals, Popular Images, Scraps, Sta.sh, User Profiles OAuth - - Doki Reader - https://kobato.hologfx.com/reader/ - Chapters, Manga - - Dynasty Reader https://dynasty-scans.com/ @@ -199,18 +151,6 @@ Consider all sites to be NSFW unless otherwise known. Chapters, Manga - - Fashion Nova - https://www.fashionnova.com/ - Collections, Products - - - - Fireden - https://boards.fireden.net/ - Boards, Search Results, Threads - - Flickr https://www.flickr.com/ @@ -307,24 +247,12 @@ Consider all sites to be NSFW unless otherwise known. Galleries, Tag Searches - - Hypnohub - https://hypnohub.net/ - Pools, Popular Images, Posts, Tag Searches - - Idol Complex https://idol.sankakucomplex.com/ Pools, Posts, Tag Searches Supported - - Illusioncardsbooru - https://illusioncards.booru.org/ - Posts, Tag Searches - - ImageBam http://www.imagebam.com/ @@ -439,24 +367,12 @@ Consider all sites to be NSFW unless otherwise known. Soundtracks - - Kirei Cake - https://reader.kireicake.com/ - Chapters, Manga - - Komikcast https://komikcast.com/ Chapters, Manga - - Konachan - https://konachan.com/ - Pools, Popular Images, Posts, Tag Searches - - LINE BLOG https://www.lineblog.me/ @@ -469,12 +385,6 @@ Consider all sites to be NSFW unless otherwise known. Blogs, Posts - - Lolibooru - https://lolibooru.moe/ - Pools, Popular Images, Posts, Tag Searches - - Luscious https://members.luscious.net/ @@ -529,12 +439,6 @@ Consider all sites to be NSFW unless otherwise known. Albums, Channels Supported - - mastodon.social - https://mastodon.social/ - Images from Statuses, User Profiles - OAuth - My Hentai Gallery https://myhentaigallery.com/ @@ -595,24 +499,12 @@ Consider all sites to be NSFW unless otherwise known. Albums - - Nyafuu Archive - https://archive.nyafuu.org/ - Boards, Search Results, Threads - - Patreon https://www.patreon.com/ Creators, Posts, User Profiles Cookies - - Pawoo - https://pawoo.net/ - Images from Statuses, User Profiles - OAuth - Photobucket https://photobucket.com/ @@ -685,12 +577,6 @@ Consider all sites to be NSFW unless otherwise known. individual Images - - PowerManga - https://read.powermanga.org/ - Chapters, Manga - - Pururin https://pururin.io/ @@ -703,18 +589,6 @@ Consider all sites to be NSFW unless otherwise known. Comic Issues, Comics - - Realbooru - https://realbooru.com/ - Pools, Posts, Tag Searches - - - - RebeccaBlackTech - https://rbt.asia/ - Boards, Search Results, Threads - - Reddit https://www.reddit.com/ @@ -733,24 +607,6 @@ Consider all sites to be NSFW unless otherwise known. Posts, Tag Searches - - Rule 34 - https://rule34.xxx/ - Pools, Posts, Tag Searches - - - - Safebooru - https://safebooru.org/ - Pools, Posts, Tag Searches - - - - Sakugabooru - https://www.sakugabooru.com/ - Pools, Popular Images, Posts, Tag Searches - - Sankaku Channel https://sankaku.app/ @@ -769,12 +625,6 @@ Consider all sites to be NSFW unless otherwise known. Chapters - - Sense-Scans - https://sensescans.com/reader/ - Chapters, Manga - - Sex.com https://www.sex.com/ @@ -817,24 +667,6 @@ Consider all sites to be NSFW unless otherwise known. Posts, User Profiles Supported - - Tbib - https://tbib.org/ - Pools, Posts, Tag Searches - - - - The /b/ Archive - https://thebarchive.com/ - Boards, Search Results, Threads - - - - Thecollection - https://the-collection.booru.org/ - Posts, Tag Searches - - Tsumino https://www.tsumino.com/ @@ -931,12 +763,6 @@ Consider all sites to be NSFW unless otherwise known. Galleries, User Profiles - - Yandere - https://yande.re/ - Pools, Popular Images, Posts, Tag Searches - - yuki.la 4chan archive https://yuki.la/ @@ -961,5 +787,207 @@ Consider all sites to be NSFW unless otherwise known. Posts, User Profiles + + + Gelbooru Beta 0.1.11 + + + Allgirlbooru + https://allgirl.booru.org/ + Posts, Tag Searches + + + + Illusion Game Cards + https://illusioncards.booru.org/ + Posts, Tag Searches + + + + The /co/llection + https://the-collection.booru.org/ + Posts, Tag Searches + + + + + Gelbooru Beta 0.2 + + + Realbooru + https://realbooru.com/ + Pools, Posts, Tag Searches + + + + Rule 34 + https://rule34.xxx/ + Pools, Posts, Tag Searches + + + + Safebooru + https://safebooru.org/ + Pools, Posts, Tag Searches + + + + The Big ImageBoard + https://tbib.org/ + Pools, Posts, Tag Searches + + + + + Moebooru and MyImouto + + + Hypnohub + https://hypnohub.net/ + Pools, Popular Images, Posts, Tag Searches + + + + Konachan + https://konachan.com/ + Pools, Popular Images, Posts, Tag Searches + + + + Lolibooru + https://lolibooru.moe/ + Pools, Popular Images, Posts, Tag Searches + + + + Sakugabooru + https://www.sakugabooru.com/ + Pools, Popular Images, Posts, Tag Searches + + + + yande.re + https://yande.re/ + Pools, Popular Images, Posts, Tag Searches + + + + + FoolFuuka 4chan Archives + + + 4plebs + https://archive.4plebs.org/ + Boards, Search Results, Threads + + + + arch.b4k.co + https://arch.b4k.co/ + Boards, Search Results, Threads + + + + Archive of Sins + https://archiveofsins.com/ + Boards, Search Results, Threads + + + + Archived.Moe + https://archived.moe/ + Boards, Search Results, Threads + + + + Desuarchive + https://desuarchive.org/ + Boards, Search Results, Threads + + + + Fireden + https://boards.fireden.net/ + Boards, Search Results, Threads + + + + Nyafuu Archive + https://archive.nyafuu.org/ + Boards, Search Results, Threads + + + + RebeccaBlackTech + https://rbt.asia/ + Boards, Search Results, Threads + + + + The /b/ Archive + https://thebarchive.com/ + Boards, Search Results, Threads + + + + + FoOlSlide Instances + + + Doki Reader + https://kobato.hologfx.com/reader/ + Chapters, Manga + + + + Kirei Cake + https://reader.kireicake.com/ + Chapters, Manga + + + + PowerManga + https://read.powermanga.org/ + Chapters, Manga + + + + Sense-Scans + https://sensescans.com/reader/ + Chapters, Manga + + + + + Mastodon Instances + + + baraag + https://baraag.net/ + Images from Statuses, User Profiles + OAuth + + + mastodon.social + https://mastodon.social/ + Images from Statuses, User Profiles + OAuth + + + Pawoo + https://pawoo.net/ + Images from Statuses, User Profiles + OAuth + + + + Shopify Instances + + + Fashion Nova + https://www.fashionnova.com/ + Collections, Products + + diff --git a/scripts/supportedsites.py b/scripts/supportedsites.py index e1bc6f55..05d13048 100755 --- a/scripts/supportedsites.py +++ b/scripts/supportedsites.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- -"""Generate a reStructuredText document with all supported sites""" +"""Generate a Markdown document listing all supported sites""" import os import sys @@ -15,6 +15,7 @@ CATEGORY_MAP = { "2chan" : "Futaba Channel", "35photo" : "35PHOTO", "adultempire" : "Adult Empire", + "allgirl" : "All girl", "archivedmoe" : "Archived.Moe", "archiveofsins" : "Archive of Sins", "artstation" : "ArtStation", @@ -42,6 +43,7 @@ CATEGORY_MAP = { "hentaihere" : "HentaiHere", "hitomi" : "Hitomi.la", "idolcomplex" : "Idol Complex", + "illusioncardsbooru": "Illusion Game Cards", "imagebam" : "ImageBam", "imagefap" : "ImageFap", "imgbb" : "ImgBB", @@ -90,7 +92,9 @@ CATEGORY_MAP = { "smugmug" : "SmugMug", "speakerdeck" : "Speaker Deck", "subscribestar" : "SubscribeStar", + "tbib" : "The Big ImageBoard", "thebarchive" : "The /b/ Archive", + "thecollection" : "The /co/llection", "tumblrgallery" : "TumblrGallery", "vanillarock" : "もえぴりあ", "vsco" : "VSCO", @@ -99,6 +103,7 @@ CATEGORY_MAP = { "worldthree" : "World Three", "xhamster" : "xHamster", "xvideos" : "XVideos", + "yandere" : "yande.re", "yuki" : "yuki.la 4chan archive", } @@ -167,6 +172,14 @@ SUBCATEGORY_MAP = { }, } +BASE_MAP = { + "foolfuuka" : "FoolFuuka 4chan Archives", + "foolslide" : "FoOlSlide Instances", + "gelbooru_v01": "Gelbooru Beta 0.1.11", + "gelbooru_v02": "Gelbooru Beta 0.2", + "moebooru" : "Moebooru and MyImouto", +} + _OAUTH = 'OAuth' _COOKIES = 'Cookies' _APIKEY_DB = \ @@ -275,7 +288,8 @@ def subcategory_key(sc): def build_extractor_list(): """Generate a sorted list of lists of extractor classes""" - categories = collections.defaultdict(list) + categories = collections.defaultdict(lambda: collections.defaultdict(list)) + default = categories[""] domains = {} for extr in extractor._list_classes(): @@ -283,21 +297,23 @@ def build_extractor_list(): if category in IGNORE_LIST: continue if category: - categories[category].append(extr.subcategory) + default[category].append(extr.subcategory) if category not in domains: domains[category] = domain(extr) else: + base = categories[extr.basecategory] for category, root in extr.instances: - categories[category].append(extr.subcategory) + base[category].append(extr.subcategory) if category not in domains: domains[category] = root + "/" # sort subcategory lists - for subcategories in categories.values(): - subcategories.sort(key=subcategory_key) + for base in categories.values(): + for subcategories in base.values(): + subcategories.sort(key=subcategory_key) # add e-hentai.org - categories["e-hentai"] = categories["exhentai"] + default["e-hentai"] = default["exhentai"] domains["e-hentai"] = domains["exhentai"].replace("x", "-") return categories, domains @@ -328,14 +344,22 @@ def generate_output(columns, categories, domains): tbody = [] append = tbody.append - clist = sorted(categories.items(), key=category_key) - for category, subcategories in clist: - append("") - for column in columns: - domain = domains[category] - content = column[2](category, subcategories, domain) - append(" " + content + "") - append("") + + for name, base in categories.items(): + + if name and base: + name = BASE_MAP.get(name) or (name.capitalize() + " Instances") + append('\n\n ' + + name + '\n') + + clist = sorted(base.items(), key=category_key) + for category, subcategories in clist: + append("") + for column in columns: + domain = domains[category] + content = column[2](category, subcategories, domain) + append(" " + content + "") + append("") TEMPLATE = """# Supported Sites