mirror of
https://github.com/azaion/gps-denied-onboard.git
synced 2026-04-22 21:46:36 +00:00
abc26d5c20
docs -> _docs
50 lines
1.1 KiB
Python
50 lines
1.1 KiB
Python
from abc import ABC, abstractmethod
|
|
from typing import Optional
|
|
|
|
from models.results import FrameResult, FlightResults, RefinedFrameResult
|
|
from models.core import GPSPoint
|
|
|
|
|
|
class ResultManagerBase(ABC):
|
|
@abstractmethod
|
|
async def save_frame_result(
|
|
self, flight_id: str, result: FrameResult
|
|
) -> bool:
|
|
pass
|
|
|
|
@abstractmethod
|
|
async def get_frame_result(
|
|
self, flight_id: str, frame_id: int
|
|
) -> Optional[FrameResult]:
|
|
pass
|
|
|
|
@abstractmethod
|
|
async def get_flight_results(self, flight_id: str) -> FlightResults:
|
|
pass
|
|
|
|
@abstractmethod
|
|
async def update_refined_result(
|
|
self, flight_id: str, result: RefinedFrameResult
|
|
) -> bool:
|
|
pass
|
|
|
|
@abstractmethod
|
|
async def get_object_gps(
|
|
self,
|
|
flight_id: str,
|
|
frame_id: int,
|
|
pixel: tuple[float, float],
|
|
) -> GPSPoint:
|
|
pass
|
|
|
|
@abstractmethod
|
|
async def export_results(
|
|
self, flight_id: str, format: str = "json"
|
|
) -> bytes:
|
|
pass
|
|
|
|
@abstractmethod
|
|
async def get_statistics(self, flight_id: str) -> dict:
|
|
pass
|
|
|