

def construct_arguments(self, args, kwargs, options, bound=False):
    '\n        Construct args list and kwargs dictionary for this signature.\n\n        They are created such that:\n          - the original explicit call arguments (args, kwargs) are preserved\n          - missing arguments are filled in by name using options (if possible)\n          - default arguments are overridden by options\n          - TypeError is thrown if:\n            * kwargs contains one or more unexpected keyword arguments\n            * conflicting values for a parameter in both args and kwargs\n            * there is an unfilled parameter at the end of this process\n        '
    expected_args = self._get_expected_args(bound)
    self._assert_no_unexpected_args(expected_args, args)
    self._assert_no_unexpected_kwargs(expected_args, kwargs)
    self._assert_no_duplicate_args(expected_args, args, kwargs)
    (args, kwargs) = self._fill_in_options(args, kwargs, options, bound)
    self._assert_no_missing_args(args, kwargs, bound)
    return (args, kwargs)

dataset/ETHPy150Open IDSIA/sacred/sacred/config/signature.py Signature.construct_arguments/original