roc-film 1.13.3__py3-none-any.whl → 1.13.5__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
roc/film/descriptor.json CHANGED
@@ -6,10 +6,10 @@
6
6
  "description": "RPW FILe Maker (FILM): Plugin to make RPW L0, L1 and HK data files"
7
7
  },
8
8
  "release": {
9
- "version": "1.13.3",
10
- "date": "2023-02-01",
9
+ "version": "1.13.5",
10
+ "date": "2023-09-07",
11
11
  "author": "Xavier Bonnin <xavier.bonnin@obspm.fr>, ROC Team <roc.support@sympa.obspm.fr>",
12
- "modification": "Fix errors in l0_to_l1_sbm processing",
12
+ "modification": "Hotfix https://gitlab.obspm.fr/ROC/Pipelines/Plugins/FILM/-/issues/40",
13
13
  "url": "https://gitlab.obspm.fr/ROC/Pipelines/Plugins/FILM"
14
14
  },
15
15
  "tasks": [
@@ -790,4 +790,4 @@
790
790
  }
791
791
  }
792
792
  ]
793
- }
793
+ }
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env python3
2
2
  # -*- coding: utf-8 -*-
3
- import collections
3
+
4
4
  import os
5
5
  from datetime import datetime
6
6
  import uuid
@@ -188,7 +188,7 @@ class DdsToL0(Task):
188
188
  try:
189
189
  # Initialize task inputs
190
190
  self.setup_inputs()
191
- except:
191
+ except Exception:
192
192
  logger.exception(f'Initializing inputs has failed for task {self.job_id}!')
193
193
  self.pipeline.exit()
194
194
  return
@@ -239,7 +239,6 @@ class DdsToL0(Task):
239
239
 
240
240
  # Initialize some loop variables
241
241
  parent_list = []
242
- packet_count = 0
243
242
 
244
243
  # Start loop over dds XML file
245
244
  for i, dds_file in enumerate(self.dds_file_list):
@@ -247,7 +246,6 @@ class DdsToL0(Task):
247
246
  # (Re)initialize loop variables
248
247
  dds_data = None
249
248
  packet_parser = None
250
- valid_packet_parser = None
251
249
 
252
250
  # Parse input RPW TM/TC DDS format file
253
251
  logger.info(f'Parsing {dds_file}...')
@@ -270,7 +268,7 @@ class DdsToL0(Task):
270
268
  try:
271
269
  logger.info(f'Extracting {dds_packet_num_list[i]} packets from {dds_file}... [{self.job_id}]')
272
270
  packet_parser = self._parse_packet(dds_data)
273
- except:
271
+ except Exception:
274
272
  logger.exception(f'Parsing current packet list has failed! [{self.job_id}]')
275
273
  continue
276
274
 
@@ -290,7 +288,7 @@ class DdsToL0(Task):
290
288
  logger.error(f'{n_invalid} invalid TM/TC packets found in {dds_file}! [{self.job_id}]')
291
289
  try:
292
290
  self.invalid_to_db(invalid_packets)
293
- except:
291
+ except Exception:
294
292
  logger.exception(f'Invalid packets cannot be inserted in the database! [{self.job_id}]')
295
293
  raise L0ProdFailure
296
294
 
@@ -310,7 +308,7 @@ class DdsToL0(Task):
310
308
  logger.exception('L0ProdFailure')
311
309
  self.failed_files.append(l0_file)
312
310
  break
313
- except:
311
+ except Exception:
314
312
  logger.exception(f'Error when parsing {dds_file}! [{self.job_id}]')
315
313
  self.failed_dds_files.append(dds_file)
316
314
  else:
@@ -344,16 +342,13 @@ class DdsToL0(Task):
344
342
 
345
343
  output_list = []
346
344
 
347
- dds_data = xml_to_dict(dds_file)['ns2:ResponsePart']\
348
- ['Response']
345
+ dds_data = xml_to_dict(dds_file)['ns2:ResponsePart']['Response']
349
346
 
350
347
  if 'PktRawResponse' in dds_data:
351
- dds_data = dds_data['PktRawResponse'] \
352
- ['PktRawResponseElement']
348
+ dds_data = dds_data['PktRawResponse']['PktRawResponseElement']
353
349
  dds_type = 'TM'
354
350
  elif 'PktTcReportResponse' in dds_data:
355
- dds_data = dds_data['PktTcReportResponse'] \
356
- ['PktTcReportList']['PktTcReportListElement']
351
+ dds_data = dds_data['PktTcReportResponse']['PktTcReportList']['PktTcReportListElement']
357
352
  dds_type = 'TC'
358
353
  else:
359
354
  logger.warning(f'Invalid input dds file {dds_file}')
@@ -362,7 +357,7 @@ class DdsToL0(Task):
362
357
  # Make sure that returned dds_data is a list
363
358
  # (If only one XML element is found in the file
364
359
  # the xml_to_dict method returns a collections.OrderedDict() instance).
365
- if isinstance(dds_data, collections.OrderedDict):
360
+ if not isinstance(dds_data, list):
366
361
  dds_data = [dds_data]
367
362
 
368
363
  output_list = [self._build_packet_dict(current_packet, dds_type)
@@ -390,28 +385,36 @@ class DdsToL0(Task):
390
385
 
391
386
  file_type = dds_file_type.upper()
392
387
 
388
+ if not isinstance(packet, dict):
389
+ logger.error(f'Problem with packet: {packet}')
390
+ return {}
391
+
393
392
  if file_type == 'TC':
394
393
 
395
394
  # Get packet SRDB id
396
395
  srdb_id = packet.get('CommandName', None)
396
+ if srdb_id is None:
397
+ logger.error('CommandName not defined!')
398
+ return {}
397
399
 
398
400
  # Get corresponding PALISADE ID
399
- if srdb_id:
401
+ try:
400
402
  palisade_id = self.palisade_metadata[srdb_id]['palisade_id']
401
- else:
402
- palisade_id = None
403
+ except Exception:
404
+ logger.error(f'palisade_id not found for {srdb_id}')
405
+ return {}
403
406
 
404
407
  # Get corresponding packet category
405
- if srdb_id:
406
- packet_category = self.palisade_metadata[
407
- srdb_id]['packet_category']
408
- else:
409
- packet_category = None
408
+ try:
409
+ packet_category = self.palisade_metadata[srdb_id]['packet_category']
410
+ except Exception:
411
+ logger.error(f'packet_category not found for {srdb_id}')
412
+ return {}
410
413
 
411
414
  try:
412
415
  utc_time = datetime.strptime(packet.get(
413
416
  'ExecutionTime'), TIME_ISO_STRFORMAT)
414
- except:
417
+ except Exception:
415
418
  utc_time = INVALID_UTC_DATETIME
416
419
 
417
420
  # Get ack execution completion status
@@ -434,7 +437,7 @@ class DdsToL0(Task):
434
437
  if field['FieldName'] == 'uniqueID':
435
438
  unique_id = packet['CustomField'][i]['Value']
436
439
  break
437
- except:
440
+ except Exception:
438
441
  unique_id = 'UNKNOWN'
439
442
 
440
443
  # Only keep "PASSED" and "FAILED" exe status in L0
@@ -292,7 +292,7 @@ class MergeTmRaw(Task):
292
292
  # Make sure that returned output_tmraw_list is a list
293
293
  # (If only one Packet element is found in the XML
294
294
  # the xml_to_dict method returns a collections.OrderedDict() instance).
295
- if isinstance(output_packet_list, collections.OrderedDict):
295
+ if not isinstance(output_packet_list, list):
296
296
  output_packet_list = [output_packet_list]
297
297
 
298
298
  # Add packet date and time to output list
@@ -302,7 +302,7 @@ class MergeTmRaw(Task):
302
302
 
303
303
  output_packet_list = list(set([
304
304
  self._get_packet_time(current_packet['Packet'],
305
- scos_header=scos_header)
305
+ scos_header=scos_header)
306
306
  for current_packet in output_packet_list
307
307
  ]))
308
308
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: roc-film
3
- Version: 1.13.3
3
+ Version: 1.13.5
4
4
  Summary: RPW FILe Maker (FILM): Plugin to make RPW L0, L1 and HK data files
5
5
  Home-page: https://gitlab.obspm.fr/ROC/Pipelines/Plugins/FILM
6
6
  License: CECILL-C
@@ -3,13 +3,13 @@ roc/film/__init__.py,sha256=jUW739rZC4yDLTfWhspDjrNBYdPUhBvI8fjS_fLYls8,114
3
3
  roc/film/commands.py,sha256=zG40YQKNrXR64ggOKTXUHyiV2zfaAg0WS01CDZU-IPc,36766
4
4
  roc/film/config/__init__.py,sha256=GGK4JAwslXPWoB6cqM9L9MdH06Oadq09WyKHTY-Poaw,69
5
5
  roc/film/constants.py,sha256=oF-DhusBcMaDjJ5mrp_Jb4AG1JH_ivQng5VlbmuDRHE,3545
6
- roc/film/descriptor.json,sha256=7Jsaq1nJn_YFkFmajZ45kHupYnfgLJHG-SgQm6wFdYQ,29934
6
+ roc/film/descriptor.json,sha256=2vi9405cs6d3le0flsMYUqi8augWECZhRRCFho6_oZw,29965
7
7
  roc/film/exceptions.py,sha256=HJ0Mwf1aFv6ZqlL46kl_Mcw4SAbh34idJAN5KeXM6Js,5267
8
8
  roc/film/tasks/__init__.py,sha256=2gjcefCsrXrkp_Rb216h8nj0AsFVF_56qg51WR2vp34,737
9
9
  roc/film/tasks/cat_solo_hk.py,sha256=HSxn14LLVVgd54zzCRrGnAAZ4HU-h3CFMnoxrgr6YvA,11328
10
10
  roc/film/tasks/cdf_postpro.py,sha256=aoP6q9acyl8IOtC-j1ngG-DlysuZ4FTn1E6PLxli5-g,29343
11
11
  roc/film/tasks/check_dds.py,sha256=zKvHF2q73BP7xLhhUnTgJpSLi197smrV8L2_h_nlbwo,3953
12
- roc/film/tasks/dds_to_l0.py,sha256=JJWeg6K4xigDgExACeuOiJg0kotp98DzQnhZC-10MRg,21622
12
+ roc/film/tasks/dds_to_l0.py,sha256=hdf5FkbrjDyyd2LKtiapojUZNr83zK6K3AxWiC6rA_I,21880
13
13
  roc/film/tasks/file_handler.py,sha256=-j4k-AScStO0-leNPRQ1mt40g1EU_7nHeKVfD_n9TFI,9018
14
14
  roc/film/tasks/l0_to_anc_bia_sweep_table.py,sha256=FmcOSmz7pJF5Ml7O9TY9F6x-agYs4cWLb0DpMsOx4Tg,14015
15
15
  roc/film/tasks/l0_to_hk.py,sha256=AIpcFhoWWehTwmOzuRO8Q-_ldlXwWFWr1dGOThwLjRU,10853
@@ -19,7 +19,7 @@ roc/film/tasks/l0_to_l1_sbm.py,sha256=riQpWlgV7s4na1JbPRcE3earUyiZkEA6jV0EzWU8RN
19
19
  roc/film/tasks/l0_to_l1_surv.py,sha256=n0h5Mizo5mzYWW6Q1AdmMrF8TiOq9t2Glin9ai4ANeM,13886
20
20
  roc/film/tasks/make_daily_tm.py,sha256=tLeNnvCVkB7DqU2_Sw6J8qetofVufBPu860Z0MOhOI8,4407
21
21
  roc/film/tasks/merge_tcreport.py,sha256=4O14qqkSAQZRP0jCjgyGzovgWQr87cxoJEVAA189j8E,9770
22
- roc/film/tasks/merge_tmraw.py,sha256=45WTIYb4NnCIORP5fQm8lYi9BW87f46MqVxgg5MpYAw,12354
22
+ roc/film/tasks/merge_tmraw.py,sha256=wBYaGTFmz-U-nOtNnIWbOdijx6ZrquNFAZrFXb4723w,12335
23
23
  roc/film/tasks/parse_dds_xml.py,sha256=KWNC_bxzABdiz9V_TpNXm8_ktCicN8W-Ec2EZW1NN8s,2106
24
24
  roc/film/tasks/set_l0_utc.py,sha256=kcZAM58FseL-IHTEpqckxlrY9FDXsJ3ccYBzCPrwxCQ,6147
25
25
  roc/film/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -42,7 +42,7 @@ roc/film/tools/metadata.py,sha256=3NoW2gNID7_K8RSqIf8pMtDMLBUU-88r9miwrxJqN_4,12
42
42
  roc/film/tools/skeleton.py,sha256=T4JN6W7GXhycHpqLmKE5gGlZm_vNwuTYMCV4HS3ik2k,10921
43
43
  roc/film/tools/tools.py,sha256=FMBmgk_IF4obJPBBXb_eGdWMVajW7hw7x0XHiBhyZJ4,18132
44
44
  roc/film/tools/xlsx2skt.py,sha256=LJcVDtEuGY55RvtKm92AZb8vV2fpugaXU3Ae-LP1uRU,19691
45
- roc_film-1.13.3.dist-info/LICENSE,sha256=dukgTUfTdh4BFRSdIM5OWE6H4wfVR6m7A4wbLEilMTk,21863
46
- roc_film-1.13.3.dist-info/METADATA,sha256=dGwzcWVl7z92gUQ-tCZ6L1d2h82nnXwtqvUin6i9MlY,3978
47
- roc_film-1.13.3.dist-info/WHEEL,sha256=vVCvjcmxuUltf8cYhJ0sJMRDLr1XsPuxEId8YDzbyCY,88
48
- roc_film-1.13.3.dist-info/RECORD,,
45
+ roc_film-1.13.5.dist-info/LICENSE,sha256=dukgTUfTdh4BFRSdIM5OWE6H4wfVR6m7A4wbLEilMTk,21863
46
+ roc_film-1.13.5.dist-info/METADATA,sha256=4bOMoQZnqqaCWOnM-F6E0LH3y4Q9g6Z21FHS3TjFJRA,3978
47
+ roc_film-1.13.5.dist-info/WHEEL,sha256=d2fvjOD7sXsVzChCqf0Ty0JbHKBaLYwDbGQDwQTnJ50,88
48
+ roc_film-1.13.5.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 1.4.0
2
+ Generator: poetry-core 1.7.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any