[weibo] use f-strings

This commit is contained in:
Mike Fährmann
2025-10-06 07:49:27 +02:00
parent 7990d04fcc
commit 96c0e9e5c8

View File

@@ -14,7 +14,7 @@ from ..cache import cache
import random
BASE_PATTERN = r"(?:https?://)?(?:www\.|m\.)?weibo\.c(?:om|n)"
USER_PATTERN = BASE_PATTERN + r"/(?:(u|n|p(?:rofile)?)/)?([^/?#]+)(?:/home)?"
USER_PATTERN = rf"{BASE_PATTERN}/(?:(u|n|p(?:rofile)?)/)?([^/?#]+)(?:/home)?"
class WeiboExtractor(Extractor):
@@ -184,7 +184,7 @@ class WeiboExtractor(Extractor):
return self.request_json(url)["data"]["user"]["idstr"]
def _pagination(self, endpoint, params):
url = self.root + "/ajax" + endpoint
url = f"{self.root}/ajax{endpoint}"
headers = {
"X-Requested-With": "XMLHttpRequest",
"X-XSRF-TOKEN": None,
@@ -265,7 +265,7 @@ class WeiboExtractor(Extractor):
class WeiboUserExtractor(WeiboExtractor):
"""Extractor for weibo user profiles"""
subcategory = "user"
pattern = USER_PATTERN + r"(?:$|#)"
pattern = rf"{USER_PATTERN}(?:$|#)"
example = "https://weibo.com/USER"
# do NOT override 'initialize()'
@@ -276,18 +276,18 @@ class WeiboUserExtractor(WeiboExtractor):
def items(self):
base = f"{self.root}/u/{self._user_id()}?tabtype="
return Dispatch._dispatch_extractors(self, (
(WeiboHomeExtractor , base + "home"),
(WeiboFeedExtractor , base + "feed"),
(WeiboVideosExtractor , base + "video"),
(WeiboNewvideoExtractor, base + "newVideo"),
(WeiboAlbumExtractor , base + "album"),
(WeiboHomeExtractor , f"{base}home"),
(WeiboFeedExtractor , f"{base}feed"),
(WeiboVideosExtractor , f"{base}video"),
(WeiboNewvideoExtractor, f"{base}newVideo"),
(WeiboAlbumExtractor , f"{base}album"),
), ("feed",))
class WeiboHomeExtractor(WeiboExtractor):
"""Extractor for weibo 'home' listings"""
subcategory = "home"
pattern = USER_PATTERN + r"\?tabtype=home"
pattern = rf"{USER_PATTERN}\?tabtype=home"
example = "https://weibo.com/USER?tabtype=home"
def statuses(self):
@@ -299,7 +299,7 @@ class WeiboHomeExtractor(WeiboExtractor):
class WeiboFeedExtractor(WeiboExtractor):
"""Extractor for weibo user feeds"""
subcategory = "feed"
pattern = USER_PATTERN + r"\?tabtype=feed"
pattern = rf"{USER_PATTERN}\?tabtype=feed"
example = "https://weibo.com/USER?tabtype=feed"
def statuses(self):
@@ -311,7 +311,7 @@ class WeiboFeedExtractor(WeiboExtractor):
class WeiboVideosExtractor(WeiboExtractor):
"""Extractor for weibo 'video' listings"""
subcategory = "videos"
pattern = USER_PATTERN + r"\?tabtype=video"
pattern = rf"{USER_PATTERN}\?tabtype=video"
example = "https://weibo.com/USER?tabtype=video"
def statuses(self):
@@ -325,7 +325,7 @@ class WeiboVideosExtractor(WeiboExtractor):
class WeiboNewvideoExtractor(WeiboExtractor):
"""Extractor for weibo 'newVideo' listings"""
subcategory = "newvideo"
pattern = USER_PATTERN + r"\?tabtype=newVideo"
pattern = rf"{USER_PATTERN}\?tabtype=newVideo"
example = "https://weibo.com/USER?tabtype=newVideo"
def statuses(self):
@@ -337,7 +337,7 @@ class WeiboNewvideoExtractor(WeiboExtractor):
class WeiboArticleExtractor(WeiboExtractor):
"""Extractor for weibo 'article' listings"""
subcategory = "article"
pattern = USER_PATTERN + r"\?tabtype=article"
pattern = rf"{USER_PATTERN}\?tabtype=article"
example = "https://weibo.com/USER?tabtype=article"
def statuses(self):
@@ -349,7 +349,7 @@ class WeiboArticleExtractor(WeiboExtractor):
class WeiboAlbumExtractor(WeiboExtractor):
"""Extractor for weibo 'album' listings"""
subcategory = "album"
pattern = USER_PATTERN + r"\?tabtype=album"
pattern = rf"{USER_PATTERN}\?tabtype=album"
example = "https://weibo.com/USER?tabtype=album"
def statuses(self):
@@ -369,9 +369,9 @@ class WeiboAlbumExtractor(WeiboExtractor):
class WeiboStatusExtractor(WeiboExtractor):
"""Extractor for images from a status on weibo.cn"""
"""Extractor for a weibo status"""
subcategory = "status"
pattern = BASE_PATTERN + r"/(detail|status|\d+)/(\w+)"
pattern = rf"{BASE_PATTERN}/(detail|status|\d+)/(\w+)"
example = "https://weibo.com/detail/12345"
def statuses(self):