add get character by series endpoint
This commit is contained in:
@@ -188,6 +188,15 @@ async def set_visible_series(request):
|
||||
return web.json_response({"status": "ok"})
|
||||
|
||||
|
||||
@PromptServer.instance.routes.get(f"{API_PREFIX}/series/{{series}}/characters")
|
||||
async def get_characters_by_series_endpoint(request):
|
||||
series = request.match_info.get("series", "")
|
||||
if not series:
|
||||
return web.json_response({"error": "Series name is required"}, status=400)
|
||||
characters = CharacterLoader.get_characters_by_series(series)
|
||||
return web.json_response({"series": series, "characters": characters})
|
||||
|
||||
|
||||
@PromptServer.instance.routes.get(f"{API_PREFIX}/series_selector")
|
||||
async def serve_series_selector(request):
|
||||
html = """
|
||||
|
||||
@@ -633,6 +633,16 @@ class CharacterLoader:
|
||||
else:
|
||||
return characters
|
||||
|
||||
@classmethod
|
||||
def get_characters_by_series(cls, series_name):
|
||||
"""Get all characters in a specific series"""
|
||||
characters = cls.get_character_dict()
|
||||
series_characters = {}
|
||||
for name, char_data in characters.items():
|
||||
if cls.get_character_series(char_data).lower() == series_name.lower():
|
||||
series_characters[name] = char_data
|
||||
return series_characters
|
||||
|
||||
|
||||
API_PREFIX = "/sn0w"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user