[tungsten:user] support filtering results by tag (#8061)

forward query parameters

https://github.com/mikf/gallery-dl/issues/8061#issuecomment-3266326296
This commit is contained in:
Mike Fährmann
2025-09-08 15:46:21 +02:00
parent 4d2482ef10
commit fdfcaa00b9
2 changed files with 45 additions and 5 deletions

View File

@@ -87,14 +87,17 @@ class TungstenModelExtractor(TungstenExtractor):
class TungstenUserExtractor(TungstenExtractor):
subcategory = "user"
pattern = rf"{BASE_PATTERN}/user/([^/?#]+)"
example = "https://tungsten.run/user/USER/posts"
pattern = rf"{BASE_PATTERN}/user/([^/?#]+)(?:/posts)?/?(?:\?([^#]+))?"
example = "https://tungsten.run/user/USER"
def posts(self):
url = f"{self.root}/user/{self.groups[0]}"
user, qs = self.groups
url = f"{self.root}/user/{user}"
page = self.request(url).text
uuid_user = text.extr(page, '"user":{"uuid":"', '"')
url = f"https://api.tungsten.run/v1/users/{uuid_user}/posts"
params = {"sort": "top_all_time"}
params = text.parse_query(qs)
params.setdefault("sort", "top_all_time")
self.kwdict["search_tags"] = params.get("tag", "")
return self._pagination(url, params)

View File

@@ -85,7 +85,7 @@ __tests__ = (
"#url" : "https://tungsten.run/model/9vHB2hNUdg/chroma",
"#class" : tungsten.TungstenModelExtractor,
"#pattern" : r"https://api\.tungsten\.run/v1/upload/\w+",
"#count" : 17,
"#count" : 22,
"comment_count" : int,
"created_at" : "iso:8601",
@@ -144,4 +144,41 @@ __tests__ = (
},
},
{
"#url" : "https://tungsten.run/user/RD.Tungsten?tag=thanks&sort=top_month",
"#comment" : "query parameters",
"#class" : tungsten.TungstenUserExtractor,
"#results" : "https://api.tungsten.run/v1/upload/TYLShY6EDVyiV8ye",
"comment_count" : int,
"created_at" : "2025-08-10T11:13:55Z",
"date" : "dt:2025-08-10 11:13:55",
"extension" : "webp",
"filename" : "TYLShY6EDVyiV8ye",
"like_count" : range(15, 50),
"nsfw" : False,
"original_height": 1216,
"original_url" : "https://api.tungsten.run/v1/upload/TYLShY6EDVyiV8ye",
"original_width" : 832,
"rating" : None,
"resized_height" : 936,
"resized_url" : "https://api.tungsten.run/v1/upload/bMfhipdctg79TqCo",
"resized_width" : 640,
"search_tags" : "thanks",
"title" : "Thank you !!",
"uuid" : "FcRnVM6btz7vbM9Z",
"view_count" : int,
"user" : {
"avatar_url" : "https://api.tungsten.run/v1/avatar/512x512/dTqnGJmASg9WSjfL/1746094098",
"badges" : [],
"bio" : None,
"created_at" : "2025-04-27T14:48:27Z",
"display_name" : "RD.Tungsten",
"sm_avatar_url": "https://api.tungsten.run/v1/avatar/64x64/dTqnGJmASg9WSjfL/1746094098",
"type" : "regular",
"username" : "RD.Tungsten",
"uuid" : "dTqnGJmASg9WSjfL",
},
},
)