feat(web): refresh palette, simplify ranking toolbar and drop export
This commit is contained in:
1 parent
6a053bdfe8
commit
c2ef998720
16 files changed
+141
-206
No files matched your search
@@ -523,14 +523,13 @@ class DashboardQueries:
|
||||
q: str | None = None,
|
||||
page: int = 1,
|
||||
page_size: int = 20,
|
||||
export: bool = False,
|
||||
) -> dict[str, Any]:
|
||||
if sort not in VIDEO_SORTS:
|
||||
raise ValueError(f"不支持的排序: {sort}")
|
||||
if growth_days < 1 or growth_days > 365:
|
||||
raise ValueError("growth_days 必须在 1~365 之间")
|
||||
page = max(1, int(page))
|
||||
page_size = max(1, min(int(page_size), 200 if not export else 10_000))
|
||||
page_size = max(1, min(int(page_size), 200))
|
||||
|
||||
def run(conn: sqlite3.Connection) -> dict[str, Any]:
|
||||
latest = self._latest_date(conn) or self._today()
|
||||
@@ -607,9 +606,8 @@ class DashboardQueries:
|
||||
growth_available = any(
|
||||
item.get("growth", {}).get("available") for item in items
|
||||
)
|
||||
if not export:
|
||||
start = (page - 1) * page_size
|
||||
items = items[start:start + page_size]
|
||||
start = (page - 1) * page_size
|
||||
items = items[start:start + page_size]
|
||||
available = True
|
||||
reason = None
|
||||
if sort in {"growth", "growth_rate"} and not growth_available:
|
||||
@@ -732,12 +730,11 @@ class DashboardQueries:
|
||||
min_videos: int = 1,
|
||||
page: int = 1,
|
||||
page_size: int = 20,
|
||||
export: bool = False,
|
||||
) -> dict[str, Any]:
|
||||
if sort not in UP_SORTS:
|
||||
raise ValueError(f"不支持的 UP 排序: {sort}")
|
||||
page = max(1, int(page))
|
||||
page_size = max(1, min(int(page_size), 200 if not export else 10_000))
|
||||
page_size = max(1, min(int(page_size), 200))
|
||||
min_videos = max(1, int(min_videos))
|
||||
|
||||
def run(conn: sqlite3.Connection) -> dict[str, Any]:
|
||||
@@ -813,9 +810,8 @@ class DashboardQueries:
|
||||
key = sort_map[sort]
|
||||
items.sort(key=lambda item: (key(item), item["up_mid"]), reverse=True)
|
||||
total = len(items)
|
||||
if not export:
|
||||
start = (page - 1) * page_size
|
||||
items = items[start:start + page_size]
|
||||
start = (page - 1) * page_size
|
||||
items = items[start:start + page_size]
|
||||
return {
|
||||
"sort": sort,
|
||||
"within_days": within_days,
|
||||
@@ -1115,8 +1111,3 @@ class DashboardQueries:
|
||||
"telegram_enabled": bool(cfg.telegram.enabled),
|
||||
}
|
||||
return self.db.read(run)
|
||||
|
||||
def export_videos(self, **filters) -> dict[str, Any]:
|
||||
filters.pop("page", None)
|
||||
filters.pop("page_size", None)
|
||||
return self.list_videos(**filters, export=True)
|
||||
Reference in new issue
Block a user