fix satellite structured data
fixes #431 Signed-off-by: Julien Flawinne <jf.satnogs at protonmail dot com>spacecruft
parent
9e8e1b169f
commit
c07696c80e
|
@ -66,10 +66,25 @@ class SatelliteStructuredData(StructuredData):
|
||||||
"status": "status",
|
"status": "status",
|
||||||
"decoder": "decoder"
|
"decoder": "decoder"
|
||||||
}
|
}
|
||||||
structured_data = []
|
|
||||||
satellite_id_domain = Site.objects.get_current().domain + '/satellite/'
|
|
||||||
|
|
||||||
|
if isinstance(data, dict):
|
||||||
|
self.data = self.structure_satellite_data(data)
|
||||||
|
return
|
||||||
|
|
||||||
|
structured_data = []
|
||||||
for satellite in data:
|
for satellite in data:
|
||||||
|
data_to_append = self.structure_satellite_data(satellite)
|
||||||
|
structured_data.append(data_to_append)
|
||||||
|
|
||||||
|
self.data = structured_data
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def structure_satellite_data(satellite):
|
||||||
|
"""Return structured data for one satellite.
|
||||||
|
|
||||||
|
:param satellite: the satellite to be structured
|
||||||
|
"""
|
||||||
|
satellite_id_domain = Site.objects.get_current().domain + '/satellite/'
|
||||||
data_to_append = {
|
data_to_append = {
|
||||||
"satellite": {
|
"satellite": {
|
||||||
"@id": satellite_id_domain + str(satellite['norad_cat_id']),
|
"@id": satellite_id_domain + str(satellite['norad_cat_id']),
|
||||||
|
@ -80,16 +95,14 @@ class SatelliteStructuredData(StructuredData):
|
||||||
}
|
}
|
||||||
|
|
||||||
if satellite['names']:
|
if satellite['names']:
|
||||||
data_to_append['satellite']['names'] = satellite['names'].replace('\r',
|
data_to_append['satellite']['names'] = satellite['names'].replace('\r', '').split('\n')
|
||||||
'').split('\n')
|
|
||||||
|
|
||||||
if satellite['telemetries']:
|
if satellite['telemetries']:
|
||||||
data_to_append['satellite']['decoder'] = []
|
data_to_append['satellite']['decoder'] = []
|
||||||
for decoder in satellite['telemetries']:
|
for decoder in satellite['telemetries']:
|
||||||
data_to_append['satellite']['decoder'].append(decoder["decoder"])
|
data_to_append['satellite']['decoder'].append(decoder["decoder"])
|
||||||
|
|
||||||
structured_data.append(data_to_append)
|
return data_to_append
|
||||||
self.data = structured_data
|
|
||||||
|
|
||||||
|
|
||||||
class TransmitterStructuredData(StructuredData):
|
class TransmitterStructuredData(StructuredData):
|
||||||
|
|
Loading…
Reference in New Issue