Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
missing_args = [arg_name for arg_name in contract.error_args if arg_name not in resolved_kwargs]
if missing_args:
msg_parts = []
if contract.location is not None:
msg_parts.append("{}:\n".format(contract.location))
msg_parts.append(
("The argument(s) of the precondition error have not been set: {}. "
"Does the original function define them? Did you supply them in the call?").format(missing_args))
raise TypeError(''.join(msg_parts))
raise contract.error(**error_kwargs)
else:
msg = icontract._represent.generate_message(contract=contract, condition_kwargs=condition_kwargs)
if contract.error is None:
raise ViolationError(msg)
elif isinstance(contract.error, type):
raise contract.error(msg)
check = contract.condition(self=instance)
else:
check = contract.condition()
if _not_check(check=check, contract=contract):
if contract.error is not None and (inspect.ismethod(contract.error) or inspect.isfunction(contract.error)):
assert contract.error_arg_set is not None, "Expected error_arg_set non-None if contract.error a function."
assert contract.error_args is not None, "Expected error_args non-None if contract.error a function."
if 'self' in contract.error_arg_set:
raise contract.error(self=instance)
else:
raise contract.error()
else:
if 'self' in contract.condition_arg_set:
msg = icontract._represent.generate_message(contract=contract, condition_kwargs={"self": instance})
else:
msg = icontract._represent.generate_message(contract=contract, condition_kwargs=dict())
if contract.error is None:
raise ViolationError(msg)
elif isinstance(contract.error, type):
raise contract.error(msg)
else:
raise NotImplementedError("Unhandled contract.error: {}".format(contract.error))
missing_args = [arg_name for arg_name in contract.error_args if arg_name not in resolved_kwargs]
if missing_args:
msg_parts = []
if contract.location is not None:
msg_parts.append("{}:\n".format(contract.location))
msg_parts.append(
("The argument(s) of the postcondition error have not been set: {}. "
"Does the original function define them? Did you supply them in the call?").format(missing_args))
raise TypeError(''.join(msg_parts))
raise contract.error(**error_kwargs)
else:
msg = icontract._represent.generate_message(contract=contract, condition_kwargs=condition_kwargs)
if contract.error is None:
raise ViolationError(msg)
elif isinstance(contract.error, type):
raise contract.error(msg)