Skip to content

Commit

Permalink
if a parameter is not set, do not return value False but raise an exc…
Browse files Browse the repository at this point in the history
…eption, except for BooleanParameters which default to False
  • Loading branch information
proycon committed Nov 8, 2019
1 parent 1125830 commit a0c0cc1
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 3 deletions.
14 changes: 12 additions & 2 deletions clam/common/data.py
Original file line number Diff line number Diff line change
Expand Up @@ -687,13 +687,23 @@ def parameter(self, parameter_id):
def __getitem__(self, parameter_id):
"""Return the value of the specified global parameter"""
try:
return self.parameter(parameter_id).value
param = self.parameter(parameter_id)
if param.hasvalue:
return param.value
else:
if isinstance(param, clam.common.parameters.BooleanParameter):
return False #booleans that have no explicit value simply default to false
raise KeyError("No such parameter passed: " + parameter_id)
except KeyError:
raise

def get(self, parameter_id, default=None):
try:
return self[parameter_id]
param = self.parameter(parameter_id)
if param.hasvalue:
return param.value
else:
return default
except KeyError:
return default

Expand Down
2 changes: 1 addition & 1 deletion clam/tests/authtest.py
Original file line number Diff line number Diff line change
Expand Up @@ -263,7 +263,7 @@ def test1_simplerun(self):
while data.status != clam.common.status.DONE:
time.sleep(1) #wait 1 second before polling status
data = self.client.get(self.project) #get status again
self.assertFalse(data.errors)
self.assertFalse(data.errors, "Checking for absence of errors (" + data.errormsg + ")")
self.assertTrue(isinstance(data.output, list))
self.assertTrue('servicetest.txt.freqlist' in [ x.filename for x in data.output ])
self.assertTrue('servicetest.txt.stats' in [ x.filename for x in data.output ])
Expand Down

0 comments on commit a0c0cc1

Please sign in to comment.