Skip to content

Commit ec5b73c

Browse files
committed
Updates from #1199's comments
1 parent 9ebf05e commit ec5b73c

File tree

3 files changed

+30
-17
lines changed

3 files changed

+30
-17
lines changed

monitoring/mock_uss/tracer/kml.py

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from dataclasses import dataclass
88
from datetime import UTC, datetime, timedelta
99
from enum import Enum
10-
from typing import Protocol
10+
from typing import Protocol, TypeVar
1111

1212
import yaml
1313
from implicitdict import ImplicitDict
@@ -59,11 +59,14 @@ class HistoricalVolumesCollection:
5959
active_at: datetime
6060

6161

62-
class HistoricalVolumesRenderer[T](Protocol):
62+
TracerLogEntryType = TypeVar("TracerLogEntryType", bound=TracerLogEntry)
63+
64+
65+
class HistoricalVolumesRenderer[TracerLogEntryType](Protocol):
6366
@abstractmethod
6467
def __call__(
6568
self,
66-
log_entry: T,
69+
log_entry: TracerLogEntryType,
6770
existing_volume_collections: list[HistoricalVolumesCollection],
6871
) -> list[HistoricalVolumesCollection]:
6972
"""Function that generates named collections of 4D volumes from a tracer log entry.
@@ -302,18 +305,23 @@ def truncate(self, latest_time: Time) -> None:
302305
c.truncate(latest_time)
303306

304307
def to_kml_folder(self):
305-
def dt(t: Time) -> int:
306-
if self.reference_time is None:
307-
return -1
308-
return round((t.datetime - self.reference_time.datetime).total_seconds())
309-
310308
if self.reference_time:
311309
description = f"Relative to {self.reference_time}"
312310
folder = kml.Folder(kml.name(self.name), kml.description(description))
313311
else:
314312
folder = kml.Folder(kml.name(self.name))
313+
315314
for v in self.volumes:
316-
name = f"{v.name} {dt(v.volume.time_start) if v.volume.time_start else '?'}s-{dt(v.volume.time_end) if v.volume.time_end else '?'}s"
315+
name = v.name
316+
317+
if self.reference_time:
318+
base_time = self.reference_time.datetime
319+
320+
def dt(t: Time) -> int:
321+
return round((t.datetime - base_time).total_seconds())
322+
323+
name = f"{name} {dt(v.volume.time_start) if v.volume.time_start else '?'}s-{dt(v.volume.time_end) if v.volume.time_end else '?'}s"
324+
317325
folder.append(
318326
make_placemark_from_volume(v.volume, name=name, style_url=v.style)
319327
)

monitoring/mock_uss/tracer/routes/ui.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -228,12 +228,12 @@ def tracer_rid_request_poll(observation_area_id: str):
228228
area = _get_validated_obs_area(observation_area_id)
229229
if not area.f3411:
230230
flask.abort(400, "Specified observation area is not observing F3411 remote ID")
231-
return
231+
raise RuntimeError("An exception should have been raised.")
232232
if not area.area.volume.outline_polygon and not area.area.volume.outline_circle:
233233
flask.abort(
234234
400, "Specified observation area does not define its spatial outline"
235235
)
236-
return
236+
raise RuntimeError("An exception should have been raised.")
237237

238238
rid_client = context.get_client(area.f3411.auth_spec, area.f3411.dss_base_url)
239239
flights_result = rid.all_flights(

monitoring/mock_uss/tracer/tracer_poll.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,16 @@
2424
ObservationAreaID,
2525
)
2626
from monitoring.monitorlib import versioning
27-
from monitoring.monitorlib.fetch.rid import FetchedISAs, isas
27+
from monitoring.monitorlib.fetch.rid import FetchedISAs
28+
from monitoring.monitorlib.fetch.rid import isas as fetch_rid_isas
2829
from monitoring.monitorlib.fetch.scd import (
2930
FetchedEntities,
30-
constraints,
31-
operations,
31+
)
32+
from monitoring.monitorlib.fetch.scd import (
33+
constraints as fetch_scd_constraints,
34+
)
35+
from monitoring.monitorlib.fetch.scd import (
36+
operations as fetch_scd_operations,
3237
)
3338
from monitoring.monitorlib.geo import get_latlngrect_vertices, make_latlng_rect
3439
from monitoring.monitorlib.infrastructure import UTMClientSession
@@ -113,7 +118,7 @@ def poll_isas(area: ObservationArea, logger: tracerlog.Logger) -> None:
113118
box = get_latlngrect_vertices(make_latlng_rect(area.area.volume))
114119

115120
t0 = datetime.datetime.now(datetime.UTC)
116-
result = isas(
121+
result = fetch_rid_isas(
117122
box,
118123
area.area.time_start.datetime if area.area.time_start else None,
119124
area.area.time_end.datetime if area.area.time_end else None,
@@ -158,7 +163,7 @@ def poll_ops(
158163
t0 = datetime.datetime.now(datetime.UTC)
159164
if "operational_intents" not in context.scd_cache:
160165
context.scd_cache["operational_intents"] = {}
161-
result = operations(
166+
result = fetch_scd_operations(
162167
scd_client,
163168
box,
164169
area.area.time_start.datetime,
@@ -204,7 +209,7 @@ def poll_constraints(
204209
t0 = datetime.datetime.now(datetime.UTC)
205210
if "constraints" not in context.scd_cache:
206211
context.scd_cache["constraints"] = {}
207-
result = constraints(
212+
result = fetch_scd_constraints(
208213
scd_client,
209214
box,
210215
area.area.time_start.datetime,

0 commit comments

Comments
 (0)