diff --git a/docs/supportedsites.md b/docs/supportedsites.md index 3610d1d9..e50bd490 100644 --- a/docs/supportedsites.md +++ b/docs/supportedsites.md @@ -928,7 +928,7 @@ Consider all listed sites to potentially be NSFW. Sex.com https://www.sex.com/ - Boards, Likes, Pins, User Pins, related Pins, Search Results + Boards, Feed, Likes, Pins, User Pins, related Pins, Search Results diff --git a/gallery_dl/extractor/sexcom.py b/gallery_dl/extractor/sexcom.py index 075f0bcc..4ed4f721 100644 --- a/gallery_dl/extractor/sexcom.py +++ b/gallery_dl/extractor/sexcom.py @@ -269,6 +269,23 @@ class SexcomBoardExtractor(SexcomExtractor): return self._pagination(url) +class SexcomFeedExtractor(SexcomExtractor): + """Extractor for pins from your account's main feed on www.sex.com""" + subcategory = "feed" + directory_fmt = ("{category}", "feed") + pattern = rf"{BASE_PATTERN}/feed" + example = "https://www.sex.com/feed/" + + def metadata(self): + return {"feed": True} + + def pins(self): + if not self.cookies_check(("sess_sex",)): + self.log.warning("no 'sess_sex' cookie set") + url = f"{self.root}/feed/" + return self._pagination(url) + + class SexcomSearchExtractor(SexcomExtractor): """Extractor for search results on www.sex.com""" subcategory = "search" diff --git a/scripts/supportedsites.py b/scripts/supportedsites.py index 5237d407..63a8c8c6 100755 --- a/scripts/supportedsites.py +++ b/scripts/supportedsites.py @@ -387,6 +387,7 @@ SUBCATEGORY_MAP = { }, "sexcom": { "pins": "User Pins", + "feed": "Feed", }, "sizebooru": { "user": "User Uploads", diff --git a/test/results/sexcom.py b/test/results/sexcom.py index ea5a0ede..d08758f9 100644 --- a/test/results/sexcom.py +++ b/test/results/sexcom.py @@ -250,4 +250,9 @@ __tests__ = ( "url" : str, }, +{ + "#url" : "https://www.sex.com/feed/", + "#class": sexcom.SexcomFeedExtractor, +}, + )