fprime-gds 4.0.0a5__py3-none-any.whl → 4.0.0a7__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- fprime_gds/common/pipeline/dictionaries.py +7 -6
- fprime_gds/executables/apps.py +9 -4
- fprime_gds/executables/data_product_writer.py +3 -3
- fprime_gds/executables/run_deployment.py +1 -1
- {fprime_gds-4.0.0a5.dist-info → fprime_gds-4.0.0a7.dist-info}/METADATA +2 -2
- {fprime_gds-4.0.0a5.dist-info → fprime_gds-4.0.0a7.dist-info}/RECORD +11 -11
- {fprime_gds-4.0.0a5.dist-info → fprime_gds-4.0.0a7.dist-info}/WHEEL +0 -0
- {fprime_gds-4.0.0a5.dist-info → fprime_gds-4.0.0a7.dist-info}/entry_points.txt +0 -0
- {fprime_gds-4.0.0a5.dist-info → fprime_gds-4.0.0a7.dist-info}/licenses/LICENSE.txt +0 -0
- {fprime_gds-4.0.0a5.dist-info → fprime_gds-4.0.0a7.dist-info}/licenses/NOTICE.txt +0 -0
- {fprime_gds-4.0.0a5.dist-info → fprime_gds-4.0.0a7.dist-info}/top_level.txt +0 -0
@@ -128,7 +128,13 @@ class Dictionaries:
|
|
128
128
|
msg = f"[ERROR] Dictionary '{dictionary}' does not exist."
|
129
129
|
raise Exception(msg)
|
130
130
|
# Check for packet specification
|
131
|
-
if
|
131
|
+
if packet_spec is not None:
|
132
|
+
packet_loader = fprime_gds.common.loaders.pkt_xml_loader.PktXmlLoader()
|
133
|
+
self._packet_dict = packet_loader.get_id_dict(
|
134
|
+
packet_spec, self._channel_name_dict
|
135
|
+
)
|
136
|
+
# Otherwise use JSON dictionary to attempt automatic packet loading
|
137
|
+
elif self._metadata["dictionary_type"] == "json":
|
132
138
|
packet_loader = fprime_gds.common.loaders.pkt_json_loader.PktJsonLoader(dictionary)
|
133
139
|
if packet_set_name is None:
|
134
140
|
names = packet_loader.get_packet_set_names(None)
|
@@ -141,11 +147,6 @@ class Dictionaries:
|
|
141
147
|
self._packet_dict = packet_loader.get_id_dict(
|
142
148
|
None, packet_set_name, self._channel_name_dict
|
143
149
|
)
|
144
|
-
elif packet_spec is not None:
|
145
|
-
packet_loader = fprime_gds.common.loaders.pkt_xml_loader.PktXmlLoader(dictionary)
|
146
|
-
self._packet_dict = packet_loader.get_id_dict(
|
147
|
-
packet_spec, self._channel_name_dict
|
148
|
-
)
|
149
150
|
else:
|
150
151
|
self._packet_dict = None
|
151
152
|
|
fprime_gds/executables/apps.py
CHANGED
@@ -237,14 +237,18 @@ class GdsStandardApp(GdsApp):
|
|
237
237
|
arguments needed for the given parsers. When main is loaded, it will dispatch to the sub-classing plugin's
|
238
238
|
start method. The subclassing plugin will already have had the arguments supplied via the PluginParser's
|
239
239
|
construction of plugin objects.
|
240
|
+
|
241
|
+
Returns:
|
242
|
+
list of arguments to pass to subprocess
|
240
243
|
"""
|
241
244
|
cls = self.__class__.__name__
|
242
245
|
module = self.__class__.__module__
|
243
246
|
|
244
|
-
|
245
|
-
args = CompositeParser(
|
247
|
+
composite_parser = CompositeParser(
|
246
248
|
[self.get_cli_parser(), StandardPipelineParser]
|
247
|
-
)
|
249
|
+
)
|
250
|
+
namespace, _, _ = ParserBase.parse_known_args([composite_parser])
|
251
|
+
args = composite_parser.reproduce_cli_args(namespace)
|
248
252
|
return [sys.executable, "-c", f"import {module}\n{module}.{cls}.main()"] + args
|
249
253
|
|
250
254
|
@classmethod
|
@@ -260,9 +264,10 @@ class GdsStandardApp(GdsApp):
|
|
260
264
|
# triggered by the code above that turns it off in the not-setup case.
|
261
265
|
except AssertionError:
|
262
266
|
pass
|
267
|
+
plugin_name = getattr(cls, "get_name", lambda: cls.__name__)()
|
263
268
|
parsed_arguments, _ = ParserBase.parse_args(
|
264
269
|
[cls.get_cli_parser(), StandardPipelineParser, PluginArgumentParser],
|
265
|
-
f"{
|
270
|
+
f"{plugin_name}: a standard app plugin",
|
266
271
|
)
|
267
272
|
pipeline = StandardPipeline()
|
268
273
|
# Turn off history and filing
|
@@ -336,12 +336,12 @@ class DPHeader(BaseModel):
|
|
336
336
|
|
337
337
|
@computed_field
|
338
338
|
@property
|
339
|
-
def dataId(self) ->
|
339
|
+
def dataId(self) -> AliasType:
|
340
340
|
return self.header.get("FwDpIdType")
|
341
341
|
|
342
342
|
@computed_field
|
343
343
|
@property
|
344
|
-
def dataSize(self) ->
|
344
|
+
def dataSize(self) -> AliasType:
|
345
345
|
return self.header.get("FwSizeStoreType")
|
346
346
|
|
347
347
|
@model_validator(mode='after')
|
@@ -731,7 +731,7 @@ class DataProductWriter:
|
|
731
731
|
def get_record_data(self, headerJSON: DPHeader, dictJSON: FprimeDict) -> Dict[str, int]:
|
732
732
|
rootDict = {}
|
733
733
|
# Go through all the Records and find the one that matches recordId
|
734
|
-
rootDict['dataId'] = self.read_field(headerJSON.dataId.
|
734
|
+
rootDict['dataId'] = self.read_field(headerJSON.dataId.underlyingType)
|
735
735
|
for record in dictJSON.records:
|
736
736
|
if record.id == rootDict['dataId']:
|
737
737
|
print(f'Processing Record ID {record.id}')
|
@@ -177,7 +177,7 @@ def launch_comm(parsed_args):
|
|
177
177
|
|
178
178
|
def launch_plugin(plugin_class_instance):
|
179
179
|
"""Launch a plugin instance"""
|
180
|
-
plugin_name = getattr(plugin_class_instance, "get_name", lambda:
|
180
|
+
plugin_name = getattr(plugin_class_instance, "get_name", lambda: plugin_class_instance.__class__.__name__)()
|
181
181
|
return launch_process(
|
182
182
|
plugin_class_instance.get_process_invocation(),
|
183
183
|
name=f"{ plugin_name } Plugin App",
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: fprime-gds
|
3
|
-
Version: 4.0.
|
3
|
+
Version: 4.0.0a7
|
4
4
|
Summary: F Prime Flight Software Ground Data System layer
|
5
5
|
Author-email: Michael Starch <Michael.D.Starch@jpl.nasa.gov>, Thomas Boyer-Chammard <Thomas.Boyer.Chammard@jpl.nasa.gov>
|
6
6
|
License:
|
@@ -241,7 +241,7 @@ Requires-Dist: openpyxl>=3.0.10
|
|
241
241
|
Requires-Dist: pyserial>=3.5
|
242
242
|
Requires-Dist: pydantic>=2.6
|
243
243
|
Requires-Dist: PyYAML>=6.0.2
|
244
|
-
Requires-Dist: spacepackets>=0.
|
244
|
+
Requires-Dist: spacepackets>=0.30.0
|
245
245
|
Requires-Dist: crc>=7.0.0
|
246
246
|
Dynamic: license-file
|
247
247
|
|
@@ -89,7 +89,7 @@ fprime_gds/common/models/common/event.py,sha256=gSFrCJT9ZddGJfkf3fGCCqk0aMIQV-SN
|
|
89
89
|
fprime_gds/common/parsers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
90
90
|
fprime_gds/common/parsers/seq_file_parser.py,sha256=6DZrA0jmt8IqsutfK7pdLtYn4oVHO593rWgAOH63yRg,9587
|
91
91
|
fprime_gds/common/pipeline/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
92
|
-
fprime_gds/common/pipeline/dictionaries.py,sha256=
|
92
|
+
fprime_gds/common/pipeline/dictionaries.py,sha256=x3QCZAg6YB9bEumZ330PGo0ilJqODGyo_K70RgbQ53M,8009
|
93
93
|
fprime_gds/common/pipeline/encoding.py,sha256=PttJ8NmXm75mLXyhlmxOJqE8RFt46q1dThaV19PyAr4,7216
|
94
94
|
fprime_gds/common/pipeline/files.py,sha256=J2zm0sucvImtmSnv0iUp5uTpvUO8nlmz2lUdMuMC5aM,2244
|
95
95
|
fprime_gds/common/pipeline/histories.py,sha256=7KyboNnm9OARQk4meVPSSeYpeqH0G8RWRiy0BLBL1rw,3671
|
@@ -116,12 +116,12 @@ fprime_gds/common/utils/data_desc_type.py,sha256=0AkEMfEa5refd_moovf1hkgKiNakADR
|
|
116
116
|
fprime_gds/common/utils/event_severity.py,sha256=7qPXHrDaM_REJ7sKBUEJTZIE0D4qVnVajsPDUuHg7sI,300
|
117
117
|
fprime_gds/common/utils/string_util.py,sha256=u_2iahRG3ROu3lAAt_KVcK226gEByElXqrA8mH8eDpI,3584
|
118
118
|
fprime_gds/executables/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
119
|
-
fprime_gds/executables/apps.py,sha256=
|
119
|
+
fprime_gds/executables/apps.py,sha256=u79T_PlgMmNmA4YwWjs7LvPMCJnrjnURr05NMthOYP0,13350
|
120
120
|
fprime_gds/executables/cli.py,sha256=aNO8saIKuTDQMwWNFlrpIL5HuwIWWei94Wxf3G0lY3k,50382
|
121
121
|
fprime_gds/executables/comm.py,sha256=08rO0o0MJgTRngB7Ygu2IL_gEAWKF7WFvFyro1CqReE,5214
|
122
|
-
fprime_gds/executables/data_product_writer.py,sha256=
|
122
|
+
fprime_gds/executables/data_product_writer.py,sha256=PGNju52vjfg7-AUURFojmMV8S83Tzy58Hyti5tmpffc,35821
|
123
123
|
fprime_gds/executables/fprime_cli.py,sha256=CMoT7zWNwM8h2mSZW03AR96wl_XnZXoLNiOZN_sDi38,12431
|
124
|
-
fprime_gds/executables/run_deployment.py,sha256=
|
124
|
+
fprime_gds/executables/run_deployment.py,sha256=Zl0Y9-6i6c8tZhcS7XkAeVQtzn0d9fV-3UJQZ0bnBrc,7237
|
125
125
|
fprime_gds/executables/tcpserver.py,sha256=KspVpu5YIuiWKOk5E6UDMKvqXYrRB1j9aX8CkMxysfw,17555
|
126
126
|
fprime_gds/executables/utils.py,sha256=SbzXRe1p41qMPdifvPap5_4v0T42gZZ_Rs_OYfITd80,7626
|
127
127
|
fprime_gds/flask/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -238,10 +238,10 @@ fprime_gds/flask/static/third-party/webfonts/fa-solid-900.woff2,sha256=mDS4KtJuK
|
|
238
238
|
fprime_gds/plugin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
239
239
|
fprime_gds/plugin/definitions.py,sha256=QlxW1gNvoiqGMslSJjh3dTFZuv0igFHawN__3XJ0Wns,5355
|
240
240
|
fprime_gds/plugin/system.py,sha256=M9xb-8jBhCUUx3X1z2uAP8Wx_v6NkL8JeaFgGcMnQqY,13432
|
241
|
-
fprime_gds-4.0.
|
242
|
-
fprime_gds-4.0.
|
243
|
-
fprime_gds-4.0.
|
244
|
-
fprime_gds-4.0.
|
245
|
-
fprime_gds-4.0.
|
246
|
-
fprime_gds-4.0.
|
247
|
-
fprime_gds-4.0.
|
241
|
+
fprime_gds-4.0.0a7.dist-info/licenses/LICENSE.txt,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
|
242
|
+
fprime_gds-4.0.0a7.dist-info/licenses/NOTICE.txt,sha256=vXjA_xRcQhd83Vfk5D_vXg5kOjnnXvLuMi5vFKDEVmg,1612
|
243
|
+
fprime_gds-4.0.0a7.dist-info/METADATA,sha256=rghvf1aW0D7_wd9TWo82U-XanfYlZK_eZXV7fglCMbs,24549
|
244
|
+
fprime_gds-4.0.0a7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
245
|
+
fprime_gds-4.0.0a7.dist-info/entry_points.txt,sha256=qFBHIR7CZ5CEeSEdZ-ZVQN9ZfUOZfm0PvvDZAAheuLk,445
|
246
|
+
fprime_gds-4.0.0a7.dist-info/top_level.txt,sha256=6vzFLIX6ANfavKaXFHDMSLFtS94a6FaAsIWhjgYuSNE,27
|
247
|
+
fprime_gds-4.0.0a7.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|