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.
@@ -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 self._metadata["dictionary_type"] == "json":
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
 
@@ -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
- namespace = Namespace(**self.arguments)
245
- args = CompositeParser(
247
+ composite_parser = CompositeParser(
246
248
  [self.get_cli_parser(), StandardPipelineParser]
247
- ).reproduce_cli_args(namespace)
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"{cls.get_name()}: a standard app plugin",
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) -> Type:
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) -> Type:
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.type)
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: cls.__name__)()
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.0a5
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.28.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=oZwRhGsrSRt9ptlMkUKsbFbxgoumE7MXwf0xkq1dKCg,7943
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=iyHloLaHJOkcZF6O3oXZX6YpoS2SBBZVPilf25l0Q98,13138
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=cM_OsISsy0bwONrvUu9pYZRhaHeY_GNxsyM18k85wZM,35801
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=x6auxjsDyCj4216JbO0bSskv2H9r7n3vuu5Z3O5cGwY,7209
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.0a5.dist-info/licenses/LICENSE.txt,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
242
- fprime_gds-4.0.0a5.dist-info/licenses/NOTICE.txt,sha256=vXjA_xRcQhd83Vfk5D_vXg5kOjnnXvLuMi5vFKDEVmg,1612
243
- fprime_gds-4.0.0a5.dist-info/METADATA,sha256=ebUCiZ36aIbdbTe19OLcUwZC7zbuG9uO5VqDQOI2B4U,24549
244
- fprime_gds-4.0.0a5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
245
- fprime_gds-4.0.0a5.dist-info/entry_points.txt,sha256=qFBHIR7CZ5CEeSEdZ-ZVQN9ZfUOZfm0PvvDZAAheuLk,445
246
- fprime_gds-4.0.0a5.dist-info/top_level.txt,sha256=6vzFLIX6ANfavKaXFHDMSLFtS94a6FaAsIWhjgYuSNE,27
247
- fprime_gds-4.0.0a5.dist-info/RECORD,,
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,,