[xenforo] add 'media-album' extractor (#8902)

This commit is contained in:
Mike Fährmann
2026-01-22 09:10:31 +01:00
parent 18fabb9605
commit fb0d639f68
5 changed files with 33 additions and 4 deletions

View File

@@ -1912,25 +1912,25 @@ Consider all listed sites to potentially be NSFW.
<tr id="simpcity" title="simpcity">
<td>SimpCity Forums</td>
<td>https://simpcity.cr/</td>
<td>Forums, Media Categories, Media Files, User Media, Posts, Threads</td>
<td>Forums, Albums, Media Categories, Media Files, User Media, Posts, Threads</td>
<td>Supported</td>
</tr>
<tr id="nudostarforum" title="nudostarforum">
<td>NudoStar Forums</td>
<td>https://nudostar.com/forum/</td>
<td>Forums, Media Categories, Media Files, User Media, Posts, Threads</td>
<td>Forums, Albums, Media Categories, Media Files, User Media, Posts, Threads</td>
<td>Supported</td>
</tr>
<tr id="atfforum" title="atfforum">
<td>All The Fallen</td>
<td>https://allthefallen.moe/forum/</td>
<td>Forums, Media Categories, Media Files, User Media, Posts, Threads</td>
<td>Forums, Albums, Media Categories, Media Files, User Media, Posts, Threads</td>
<td></td>
</tr>
<tr id="celebforum" title="celebforum">
<td>celebforum</td>
<td>https://celebforum.to/</td>
<td>Forums, Media Categories, Media Files, User Media, Posts, Threads</td>
<td>Forums, Albums, Media Categories, Media Files, User Media, Posts, Threads</td>
<td></td>
</tr>

View File

@@ -476,6 +476,22 @@ class XenforoMediaUserExtractor(XenforoExtractor):
return self.items_media(f"{groups[-4]}media/users/{user}", pnum)
class XenforoMediaAlbumExtractor(XenforoExtractor):
subcategory = "media-album"
directory_fmt = ("{category}", "Media", "Albums",
"{album_slug} ({album_id})")
filename_fmt = "{filename}.{extension}"
archive_fmt = "{id}"
pattern = (BASE_PATTERN + r"(/(?:index\.php\?)?"
r"media/albums/([^/?#]+))(?:/page-(\d+))?")
example = "https://simpcity.cr/media/albums/ALBUM.123/"
def items(self):
slug, _, self.kwdict["album_id"] = self.groups[-2].rpartition(".")
self.kwdict["album_slug"] = text.unquote(slug)
return self.items_media(self.groups[-3], self.groups[-1])
class XenforoMediaCategoryExtractor(XenforoExtractor):
subcategory = "media-category"
directory_fmt = ("{category}", "Media", "Category", "{mcategory}")

View File

@@ -475,6 +475,7 @@ SUBCATEGORY_MAP = {
"media-user": "User Media",
"media-item": "Media Files",
"media-category": "Media Categories",
"media-album" : "Albums",
},
}

View File

@@ -154,4 +154,10 @@ __tests__ = (
"#class" : xenforo.XenforoMediaCategoryExtractor,
},
{
"#url" : "https://allthefallen.moe/forum/index.php?media/albums/2-%E9%AD%94%E6%B3%95%E5%B0%91%E5%A5%B3%E3%81%AB%E3%81%82%E3%81%93%E3%81%8C%E3%82%8C%E3%81%A6-mahou-shoujo-ni-akogarete.7385/",
"#category": ("xenforo", "atfforum", "media-album"),
"#class" : xenforo.XenforoMediaAlbumExtractor,
},
)

View File

@@ -99,4 +99,10 @@ __tests__ = (
"#count" : 50,
},
{
"#url" : "https://celebforum.to/media/albums/5404/",
"#category": ("xenforo", "celebforum", "media-album"),
"#class" : xenforo.XenforoMediaAlbumExtractor,
},
)