24 lines
434 B
Python
24 lines
434 B
Python
import tomllib
|
|
|
|
from pydantic import BaseModel
|
|
|
|
from .settings import settings
|
|
|
|
class Downlink(BaseModel):
|
|
proto: str
|
|
freq: float
|
|
|
|
class Satellite(BaseModel):
|
|
name: str
|
|
downlink: list[Downlink]
|
|
|
|
|
|
def read_satellites() -> dict[int, Satellite]:
|
|
with open(settings.satellites_file, "rb") as f:
|
|
data = tomllib.load(f)
|
|
|
|
return {
|
|
int(k): Satellite.parse_obj(v)
|
|
for k, v in data.items()
|
|
}
|