Упрощение фильтров и нормализации полей в запросах к VNDB API

This commit is contained in:
2026-05-01 17:15:19 +03:00
parent a3d1a9bdb3
commit ddf44ac2b5
2 changed files with 5 additions and 16 deletions

6
bot.py
View File

@@ -182,7 +182,7 @@ Staff: {stats.get('staff', 0)}
)
results = await vndb_client.query_vn(
filters=["search", "=", query.strip().lower()],
filters=["search", "=", query.strip()],
fields=["id", "title", "image.url"],
results=10
)
@@ -226,7 +226,7 @@ Staff: {stats.get('staff', 0)}
return ConversationHandler.END
results = await vndb_client.query_character(
filters=["search", "=", query.strip().lower()],
filters=["search", "=", query.strip()],
fields=["id", "name", "original", "image.url"],
results=10
)
@@ -253,7 +253,7 @@ Staff: {stats.get('staff', 0)}
query = " ".join(context.args)
results = await vndb_client.query_release(
filters=["search", "=", query.strip().lower()], # ✔️ важно
filters=["search", "=", query.strip()], # ✔️ важно
fields=["id", "title"],
results=10
)

View File

@@ -49,25 +49,14 @@ class VndbClient:
if token:
self.headers["Authorization"] = f"Token {token}"
def _safe_filters(self, filters: Optional[List[Any]]) -> List[Any]:
if not filters:
return []
def _safe_filters(self, filters):
return filters
def _normalize_fields(self, fields: Optional[List[str]]) -> str:
if not fields:
return "id"
fixed = []
for f in fields:
# FIX OLD STYLE image{url}
if "image{" in f:
f = f.replace("image{url}", "image.url")
f = f.replace("image{id,url}", "image.id,image.url")
fixed.append(f)
return ",".join(fixed)
return ",".join(fields)
async def _request(
self,