Skip to content

Commit 988d91a

Browse files
authored
ADD: adding extra keys based on extra-config in input event (#59)
* feat: adding extra keys based on extra-config in input event * chore: reformat code
1 parent 4fc7783 commit 988d91a

File tree

2 files changed

+36
-16
lines changed

2 files changed

+36
-16
lines changed

cumulus_lambda_functions/snpp_level1a_generate_cmr/generate_cmr.py

Lines changed: 35 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,12 @@
9595
"required": [
9696
"meta"
9797
]
98+
},
99+
"extra_config": {
100+
"required": [],
101+
"properties": {
102+
"add_extra_keys": {"type": "boolean"}
103+
}
98104
}
99105
},
100106
"required": []
@@ -141,6 +147,34 @@ def __read_pds_metadata_file(self):
141147
self.__s3.target_key = self._pds_file_dict['key']
142148
return self.__s3.read_small_txt_file()
143149

150+
def __is_adding_extra_keys(self):
151+
if 'extra_config' not in self.__event['cma']:
152+
return True
153+
if 'add_extra_keys' not in self.__event['cma']['extra_config']:
154+
return True
155+
return self.__event['cma']['extra_config']['add_extra_keys']
156+
157+
def __generate_output_dict(self, echo_metadata_md5: str):
158+
output_dict = {
159+
"checksumType": "md5",
160+
"checksum": echo_metadata_md5,
161+
"type": "metadata",
162+
163+
"key": self.__s3.target_key,
164+
"fileName": os.path.basename(self.__s3.target_key),
165+
"bucket": self.__s3.target_bucket,
166+
"size": int(self.__s3.get_size()),
167+
}
168+
if not self.__is_adding_extra_keys():
169+
return output_dict
170+
output_dict = {**output_dict, **{
171+
"path": os.path.dirname(self.__s3.target_key),
172+
"name": os.path.basename(self.__s3.target_key),
173+
"source_bucket": self.__s3.target_bucket,
174+
"url_path": f's3://{self.__s3.target_bucket}/{self.__s3.target_key}',
175+
}}
176+
return output_dict
177+
144178
def start(self):
145179
"""
146180
sample event
@@ -371,21 +405,7 @@ def start(self):
371405
"granuleId": granule_id,
372406
"dataType": collection_name,
373407
"version": collection_version,
374-
"files": self.__input_file_list + [{
375-
376-
"path": os.path.dirname(self.__s3.target_key),
377-
"checksumType": "md5",
378-
"checksum": echo_metadata_md5,
379-
"type": "metadata",
380-
381-
"key": self.__s3.target_key,
382-
"name": os.path.basename(self.__s3.target_key),
383-
"fileName": os.path.basename(self.__s3.target_key),
384-
"bucket": self.__s3.target_bucket,
385-
"source_bucket": self.__s3.target_bucket,
386-
"url_path": f's3://{self.__s3.target_bucket}/{self.__s3.target_key}',
387-
"size": int(self.__s3.get_size()),
388-
}],
408+
"files": self.__input_file_list + [self.__generate_output_dict(echo_metadata_md5)],
389409
# "files": self.__input_file_list,
390410
"sync_granule_duration": 20302,
391411
"createdAt": TimeUtils.get_current_unix_milli(),

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
setup(
1818
name="cumulus_lambda_functions",
19-
version="1.5.14",
19+
version="1.5.15",
2020
packages=find_packages(),
2121
install_requires=install_requires,
2222
tests_require=['mock', 'nose', 'sphinx', 'sphinx_rtd_theme', 'coverage'],

0 commit comments

Comments
 (0)