Упрощение фильтров и нормализации полей в запросах к 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(
|
results = await vndb_client.query_vn(
|
||||||
filters=["search", "=", query.strip().lower()],
|
filters=["search", "=", query.strip()],
|
||||||
fields=["id", "title", "image.url"],
|
fields=["id", "title", "image.url"],
|
||||||
results=10
|
results=10
|
||||||
)
|
)
|
||||||
@@ -226,7 +226,7 @@ Staff: {stats.get('staff', 0)}
|
|||||||
return ConversationHandler.END
|
return ConversationHandler.END
|
||||||
|
|
||||||
results = await vndb_client.query_character(
|
results = await vndb_client.query_character(
|
||||||
filters=["search", "=", query.strip().lower()],
|
filters=["search", "=", query.strip()],
|
||||||
fields=["id", "name", "original", "image.url"],
|
fields=["id", "name", "original", "image.url"],
|
||||||
results=10
|
results=10
|
||||||
)
|
)
|
||||||
@@ -253,7 +253,7 @@ Staff: {stats.get('staff', 0)}
|
|||||||
query = " ".join(context.args)
|
query = " ".join(context.args)
|
||||||
|
|
||||||
results = await vndb_client.query_release(
|
results = await vndb_client.query_release(
|
||||||
filters=["search", "=", query.strip().lower()], # ✔️ важно
|
filters=["search", "=", query.strip()], # ✔️ важно
|
||||||
fields=["id", "title"],
|
fields=["id", "title"],
|
||||||
results=10
|
results=10
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -49,25 +49,14 @@ class VndbClient:
|
|||||||
if token:
|
if token:
|
||||||
self.headers["Authorization"] = f"Token {token}"
|
self.headers["Authorization"] = f"Token {token}"
|
||||||
|
|
||||||
def _safe_filters(self, filters: Optional[List[Any]]) -> List[Any]:
|
def _safe_filters(self, filters):
|
||||||
if not filters:
|
|
||||||
return []
|
|
||||||
return filters
|
return filters
|
||||||
|
|
||||||
def _normalize_fields(self, fields: Optional[List[str]]) -> str:
|
def _normalize_fields(self, fields: Optional[List[str]]) -> str:
|
||||||
if not fields:
|
if not fields:
|
||||||
return "id"
|
return "id"
|
||||||
|
|
||||||
fixed = []
|
return ",".join(fields)
|
||||||
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)
|
|
||||||
|
|
||||||
async def _request(
|
async def _request(
|
||||||
self,
|
self,
|
||||||
|
|||||||
Reference in New Issue
Block a user