Улучшение обработки фильтров и полей в запросах к VNDB API

This commit is contained in:
2026-05-01 16:32:41 +03:00
parent c5ae63326f
commit d91c34efdf
2 changed files with 16 additions and 16 deletions

6
bot.py
View File

@@ -182,7 +182,7 @@ Staff: {stats.get('staff', 0)}
) )
results = await vndb_client.query_vn( results = await vndb_client.query_vn(
filters=["search", "=", query], # ✔️ без вложенности filters=["search", "=", query.strip().lower()], # ✔️ без вложенности
fields=["id", "title", "image{url}"], fields=["id", "title", "image{url}"],
results=10 results=10
) )
@@ -228,7 +228,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], # ✔️ важно filters=["search", "=", query.strip().lower()], # ✔️ важно
fields=["id", "name", "image{url}"], fields=["id", "name", "image{url}"],
results=10 results=10
) )
@@ -255,7 +255,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], # ✔️ важно filters=["search", "=", query.strip().lower()], # ✔️ важно
fields=["id", "title"], fields=["id", "title"],
results=10 results=10
) )

View File

@@ -150,7 +150,7 @@ class VndbClient:
""" """
data = { data = {
"filters": filters or [], "filters": filters or [],
"fields": ",".join(fields) if fields else "", "fields": ",".join(fields) if fields else "id",
"sort": sort, "sort": sort,
"reverse": reverse, "reverse": reverse,
"results": results, "results": results,
@@ -180,7 +180,7 @@ class VndbClient:
"""Query releases""" """Query releases"""
data = { data = {
"filters": filters or [], "filters": filters or [],
"fields": ",".join(fields) if fields else "", "fields": ",".join(fields) if fields else "id",
"sort": sort, "sort": sort,
"reverse": reverse, "reverse": reverse,
"results": results, "results": results,
@@ -206,10 +206,10 @@ class VndbClient:
compact_filters: bool = False, compact_filters: bool = False,
normalized_filters: bool = False, normalized_filters: bool = False,
) -> Dict[str, Any]: ) -> Dict[str, Any]:
"""Query characters"""
data = { data = {
"filters": filters or [], "filters": self._safe_filters(filters),
"fields": ",".join(fields) if fields else "", "fields": ",".join(fields) if fields else "id,name",
"sort": sort, "sort": sort,
"reverse": reverse, "reverse": reverse,
"results": results, "results": results,
@@ -236,7 +236,7 @@ class VndbClient:
"""Query staff""" """Query staff"""
data = { data = {
"filters": filters or [], "filters": filters or [],
"fields": ",".join(fields) if fields else "", "fields": ",".join(fields) if fields else "id",
"sort": sort, "sort": sort,
"reverse": reverse, "reverse": reverse,
"results": results, "results": results,
@@ -263,7 +263,7 @@ class VndbClient:
"""Query producers""" """Query producers"""
data = { data = {
"filters": filters or [], "filters": filters or [],
"fields": ",".join(fields) if fields else "", "fields": ",".join(fields) if fields else "id",
"sort": sort, "sort": sort,
"reverse": reverse, "reverse": reverse,
"results": results, "results": results,
@@ -290,7 +290,7 @@ class VndbClient:
"""Query tags""" """Query tags"""
data = { data = {
"filters": filters or [], "filters": filters or [],
"fields": ",".join(fields) if fields else "", "fields": ",".join(fields) if fields else "id",
"sort": sort, "sort": sort,
"reverse": reverse, "reverse": reverse,
"results": results, "results": results,
@@ -317,7 +317,7 @@ class VndbClient:
"""Query traits""" """Query traits"""
data = { data = {
"filters": filters or [], "filters": filters or [],
"fields": ",".join(fields) if fields else "", "fields": ",".join(fields) if fields else "id",
"sort": sort, "sort": sort,
"reverse": reverse, "reverse": reverse,
"results": results, "results": results,
@@ -344,7 +344,7 @@ class VndbClient:
"""Query quotes""" """Query quotes"""
data = { data = {
"filters": filters or [], "filters": filters or [],
"fields": ",".join(fields) if fields else "", "fields": ",".join(fields) if fields else "id",
"sort": sort, "sort": sort,
"reverse": reverse, "reverse": reverse,
"results": results, "results": results,
@@ -372,7 +372,7 @@ class VndbClient:
"""Query user visual novel list""" """Query user visual novel list"""
data = { data = {
"filters": filters or [], "filters": filters or [],
"fields": ",".join(fields) if fields else "", "fields": ",".join(fields) if fields else "id",
"sort": sort, "sort": sort,
"reverse": reverse, "reverse": reverse,
"results": results, "results": results,
@@ -398,7 +398,7 @@ class VndbClient:
"""Query user release list""" """Query user release list"""
data = { data = {
"filters": filters or [], "filters": filters or [],
"fields": ",".join(fields) if fields else "", "fields": ",".join(fields) if fields else "id",
"sort": sort, "sort": sort,
"reverse": reverse, "reverse": reverse,
"results": results, "results": results,