Упрощение фильтров и нормализации полей в запросах к VNDB API
This commit is contained in:
6
bot.py
6
bot.py
@@ -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
|
||||
)
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user