Make batch.utils.lowercase_first_key() recursive (#3124)

* Make batch.utils.lowercase_first_key() recursive

* Reformat using black

* Add test of recursive lowercase_first_key()

* Fix typo in ttest_batch/test_cloud_formation.py
This commit is contained in:
Adam Richie-Halford 2020-07-14 03:29:49 -07:00 committed by GitHub
commit 890c3b4954
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 24 additions and 1 deletions

View file

@ -21,6 +21,14 @@ def lowercase_first_key(some_dict):
new_dict = {}
for key, value in some_dict.items():
new_key = key[0].lower() + key[1:]
new_dict[new_key] = value
try:
if isinstance(value, dict):
new_dict[new_key] = lowercase_first_key(value)
elif all([isinstance(v, dict) for v in value]):
new_dict[new_key] = [lowercase_first_key(v) for v in value]
else:
new_dict[new_key] = value
except TypeError:
new_dict[new_key] = value
return new_dict