Skip to content

Commit d331433

Browse files
committed
OpenSky: keep timestamp field for Go server (schema validation requires it)
1 parent 63c5201 commit d331433

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

publishers/opensky/opensky_publisher.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,7 @@ def __init__(self):
216216
"OSH_BASE_URL",
217217
f"https://{self.osh_address}/{self.osh_root}/api",
218218
)
219+
self._is_go_server = "csapi-go" in self._base_url
219220
self._auth = "Basic " + base64.b64encode(
220221
f"{self.osh_user}:{self.osh_pass}".encode()).decode()
221222

@@ -312,7 +313,12 @@ def publish_cycle(self, dry_run: bool = False) -> int:
312313

313314
# Build observation envelope
314315
phenomenon_time = obs_data.pop("phenomenonTime")
315-
obs_data.pop("timestamp", None)
316+
if self._is_go_server:
317+
# Go server validates all schema fields are present;
318+
# keep timestamp but coerce to string (Time type requirement)
319+
obs_data["timestamp"] = str(obs_data["timestamp"])
320+
else:
321+
obs_data.pop("timestamp", None)
316322
obs = {
317323
"phenomenonTime": phenomenon_time,
318324
"resultTime": now.strftime("%Y-%m-%dT%H:%M:%SZ"),

0 commit comments

Comments
 (0)