[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:
@@ -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)
|
||||
|
||||
@@ -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",
|
||||
},
|
||||
},
|
||||
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user