diff --git a/docs/configuration.rst b/docs/configuration.rst index d7299664..49640260 100644 --- a/docs/configuration.rst +++ b/docs/configuration.rst @@ -1749,7 +1749,7 @@ Description when processing a user profile. Possible values are - ``"art"``, ``"audio"``, ``"movies"``. + ``"art"``, ``"audio"``, ``"games"``, ``"movies"``. You can use ``"all"`` instead of listing all values separately. diff --git a/docs/supportedsites.md b/docs/supportedsites.md index d45b5fb0..f64ab5c0 100644 --- a/docs/supportedsites.md +++ b/docs/supportedsites.md @@ -538,7 +538,7 @@ Consider all sites to be NSFW unless otherwise known. Newgrounds https://www.newgrounds.com/ - Art, Audio, Favorites, individual Images, Media Files, Movies, Search Results, User Profiles + Art, Audio, Favorites, Games, individual Images, Media Files, Movies, Search Results, User Profiles Supported diff --git a/gallery_dl/extractor/newgrounds.py b/gallery_dl/extractor/newgrounds.py index d9ab3369..0796d9ab 100644 --- a/gallery_dl/extractor/newgrounds.py +++ b/gallery_dl/extractor/newgrounds.py @@ -434,6 +434,17 @@ class NewgroundsMoviesExtractor(NewgroundsExtractor): }) +class NewgroundsGamesExtractor(NewgroundsExtractor): + """Extractor for a newgrounds user's games""" + subcategory = _path = "games" + pattern = r"(?:https?://)?([\w-]+)\.newgrounds\.com/games/?$" + test = ("https://tomfulp.newgrounds.com/games", { + "pattern": r"https://uploads.ungrounded.net(/alternate)?/\d+/\d+_.+", + "range": "1-10", + "count": 10, + }) + + class NewgroundsUserExtractor(NewgroundsExtractor): """Extractor for a newgrounds user profile""" subcategory = "user" @@ -454,6 +465,7 @@ class NewgroundsUserExtractor(NewgroundsExtractor): return self._dispatch_extractors(( (NewgroundsArtExtractor , base + "art"), (NewgroundsAudioExtractor , base + "audio"), + (NewgroundsGamesExtractor , base + "games"), (NewgroundsMoviesExtractor, base + "movies"), ), ("art",))