31 lines
1.1 KiB
Python
31 lines
1.1 KiB
Python
from __future__ import annotations
|
|
|
|
import json
|
|
from http import HTTPStatus
|
|
|
|
|
|
class HeavenHttpMixin:
|
|
def heaven_hexagram(self) -> None:
|
|
try:
|
|
body = self.read_json_body()
|
|
result = self.application_service.heaven_hexagram(body.get("lines"))
|
|
self.send_json({"ok": True, "hexagram": result})
|
|
except (ValueError, json.JSONDecodeError) as exc:
|
|
self.send_json({"error": str(exc)}, HTTPStatus.BAD_REQUEST)
|
|
|
|
def heaven_personal(self) -> None:
|
|
try:
|
|
body = self.read_json_body()
|
|
result = self.application_service.heaven_personal(body)
|
|
self.send_json({"ok": True, "personal": result})
|
|
except (ValueError, json.JSONDecodeError) as exc:
|
|
self.send_json({"error": str(exc)}, HTTPStatus.BAD_REQUEST)
|
|
|
|
def heaven_interpret(self) -> None:
|
|
try:
|
|
body = self.read_json_body()
|
|
result = self.application_service.heaven_interpret(body)
|
|
self.send_json({"ok": True, **result})
|
|
except (ValueError, json.JSONDecodeError) as exc:
|
|
self.send_json({"error": str(exc)}, HTTPStatus.BAD_REQUEST)
|