Skip to content

Commit 6f43f8e

Browse files
authored
Merge pull request #146 from joguSD/drop-none
Drop key from environment params if None
2 parents b1afba9 + c9fbb5a commit 6f43f8e

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

awsshell/wizard.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import sys
22
import copy
33
import json
4+
import logging
45
import jmespath
56

67
import botocore.session
@@ -15,6 +16,9 @@
1516
from prompt_toolkit.shortcuts import confirm
1617

1718

19+
LOG = logging.getLogger(__name__)
20+
21+
1822
def stage_error_handler(error, stages, confirm=confirm, prompt=select_prompt):
1923
managed_errors = (
2024
ClientError,
@@ -384,5 +388,10 @@ def resolve_parameters(self, keys):
384388
"""
385389
resolved_dict = {}
386390
for key in keys:
387-
resolved_dict[key] = self.retrieve(keys[key])
391+
retrieved = self.retrieve(keys[key])
392+
if retrieved is not None:
393+
resolved_dict[key] = retrieved
394+
else:
395+
LOG.debug("Query failed (%s), dropped key: %s", keys[key], key)
396+
388397
return resolved_dict

tests/unit/test_wizard.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,12 @@ def test_resolve_parameters():
4040
assert resolved == {'a': 'Nice', 'b': 'v'}
4141

4242

43+
def test_resolve_parameters_drops_none(env):
44+
keys = {'a': 'bad.query', 'b': 'env_var.epic'}
45+
resolved = env.resolve_parameters(keys)
46+
assert resolved == {'b': 'nice'}
47+
48+
4349
@pytest.fixture
4450
def loader(wizard_spec):
4551
session = mock.Mock()

0 commit comments

Comments
 (0)