Добавление метода _normalize_fields для обработки и нормализации полей в запросах к VNDB API
This commit is contained in:
@@ -54,6 +54,21 @@ class VndbClient:
|
|||||||
return []
|
return []
|
||||||
return 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)
|
||||||
|
|
||||||
async def _request(
|
async def _request(
|
||||||
self,
|
self,
|
||||||
endpoint: str,
|
endpoint: str,
|
||||||
@@ -225,7 +240,7 @@ class VndbClient:
|
|||||||
"""Query staff"""
|
"""Query staff"""
|
||||||
data = {
|
data = {
|
||||||
"filters": filters or [],
|
"filters": filters or [],
|
||||||
"fields": ",".join(fields) if fields else "id",
|
"fields": self._normalize_fields(fields),
|
||||||
"sort": sort,
|
"sort": sort,
|
||||||
"reverse": reverse,
|
"reverse": reverse,
|
||||||
"results": results,
|
"results": results,
|
||||||
@@ -252,7 +267,7 @@ class VndbClient:
|
|||||||
"""Query producers"""
|
"""Query producers"""
|
||||||
data = {
|
data = {
|
||||||
"filters": filters or [],
|
"filters": filters or [],
|
||||||
"fields": ",".join(fields) if fields else "id",
|
"fields": self._normalize_fields(fields),
|
||||||
"sort": sort,
|
"sort": sort,
|
||||||
"reverse": reverse,
|
"reverse": reverse,
|
||||||
"results": results,
|
"results": results,
|
||||||
@@ -279,7 +294,7 @@ class VndbClient:
|
|||||||
"""Query tags"""
|
"""Query tags"""
|
||||||
data = {
|
data = {
|
||||||
"filters": filters or [],
|
"filters": filters or [],
|
||||||
"fields": ",".join(fields) if fields else "id",
|
"fields": self._normalize_fields(fields),
|
||||||
"sort": sort,
|
"sort": sort,
|
||||||
"reverse": reverse,
|
"reverse": reverse,
|
||||||
"results": results,
|
"results": results,
|
||||||
@@ -306,7 +321,7 @@ class VndbClient:
|
|||||||
"""Query traits"""
|
"""Query traits"""
|
||||||
data = {
|
data = {
|
||||||
"filters": filters or [],
|
"filters": filters or [],
|
||||||
"fields": ",".join(fields) if fields else "id",
|
"fields": self._normalize_fields(fields),
|
||||||
"sort": sort,
|
"sort": sort,
|
||||||
"reverse": reverse,
|
"reverse": reverse,
|
||||||
"results": results,
|
"results": results,
|
||||||
@@ -333,7 +348,7 @@ class VndbClient:
|
|||||||
"""Query quotes"""
|
"""Query quotes"""
|
||||||
data = {
|
data = {
|
||||||
"filters": filters or [],
|
"filters": filters or [],
|
||||||
"fields": ",".join(fields) if fields else "id",
|
"fields": self._normalize_fields(fields),
|
||||||
"sort": sort,
|
"sort": sort,
|
||||||
"reverse": reverse,
|
"reverse": reverse,
|
||||||
"results": results,
|
"results": results,
|
||||||
@@ -361,7 +376,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 "id",
|
"fields": self._normalize_fields(fields),
|
||||||
"sort": sort,
|
"sort": sort,
|
||||||
"reverse": reverse,
|
"reverse": reverse,
|
||||||
"results": results,
|
"results": results,
|
||||||
@@ -387,7 +402,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 "id",
|
"fields": self._normalize_fields(fields),
|
||||||
"sort": sort,
|
"sort": sort,
|
||||||
"reverse": reverse,
|
"reverse": reverse,
|
||||||
"results": results,
|
"results": results,
|
||||||
|
|||||||
Reference in New Issue
Block a user