Files
xiaobaifupan/app/backend/features/rotation/routes.py
T

31 lines
1.2 KiB
Python

from __future__ import annotations
from datetime import date
from http import HTTPStatus
from urllib.parse import parse_qs
class RotationRoutesMixin:
def _handle_rotation_get(self, parsed) -> bool:
if parsed.path == "/api/rotation/history":
query = parse_qs(parsed.query)
trade_date = query.get("trade_date", [date.today().isoformat()])[0]
try:
self.send_json(self.application_service.rotation_history(trade_date, 9))
except (TypeError, ValueError) as exc:
self.send_json({"error": str(exc)}, HTTPStatus.BAD_REQUEST)
return True
if parsed.path == "/api/rotation/members":
query = parse_qs(parsed.query)
try:
self.send_json(
self.application_service.rotation_sector_members(
query.get("trade_date", [date.today().isoformat()])[0],
query.get("sector", [""])[0],
)
)
except (TypeError, ValueError) as exc:
self.send_json({"error": str(exc)}, HTTPStatus.BAD_REQUEST)
return True
return False