Esempio n. 1
0
 def validate(self, positional, named, dryrun=False):
     if dryrun and any(is_list_var(arg) for arg in positional):
         return
     named = set(name for name, value in named)
     self._validate_no_multiple_values(positional, named, self._argspec)
     self._validate_positional_limits(positional, named, self._argspec)
     self._validate_no_mandatory_missing(positional, named, self._argspec)
     self._validate_no_named_only_missing(named, self._argspec)
     self._validate_no_extra_named(named, self._argspec)
Esempio n. 2
0
 def validate(self, positional, named, dryrun=False):
     if dryrun and any(is_list_var(arg) for arg in positional):
         return
     named = set(name for name, value in named)
     self._validate_no_multiple_values(positional, named, self._argspec)
     self._validate_positional_limits(positional, named, self._argspec)
     self._validate_no_mandatory_missing(positional, named, self._argspec)
     self._validate_no_named_only_missing(named, self._argspec)
     self._validate_no_extra_named(named, self._argspec)
 def _split_run_kw_if_args(self, given_args, control_word, required_after):
     index = list(given_args).index(control_word)
     expr_and_call = given_args[:index]
     remaining = given_args[index + 1:]
     if not (self._validate_kw_call(expr_and_call)
             and self._validate_kw_call(remaining, required_after)):
         raise DataError("Invalid 'Run Keyword If' usage.")
     if is_list_var(expr_and_call[0]):
         return (), remaining
     return expr_and_call[1:], remaining
 def _split_run_kw_if_args(self, given_args, control_word, required_after):
     index = list(given_args).index(control_word)
     expr_and_call = given_args[:index]
     remaining = given_args[index+1:]
     if not (self._validate_kw_call(expr_and_call) and
                 self._validate_kw_call(remaining, required_after)):
         raise DataError("Invalid 'Run Keyword If' usage.")
     if is_list_var(expr_and_call[0]):
         return (), remaining
     return expr_and_call[1:], remaining
 def _get_run_kw_if_calls(self, given_args):
     while 'ELSE IF' in given_args:
         kw_call, given_args = self._split_run_kw_if_args(given_args, 'ELSE IF', 2)
         yield kw_call
     if 'ELSE' in given_args:
         kw_call, else_call = self._split_run_kw_if_args(given_args, 'ELSE', 1)
         yield kw_call
         yield else_call
     elif self._validate_kw_call(given_args):
         expr, kw_call = given_args[0], given_args[1:]
         if not is_list_var(expr):
             yield kw_call
 def _get_run_kw_if_calls(self, given_args):
     while 'ELSE IF' in given_args:
         kw_call, given_args = self._split_run_kw_if_args(given_args, 'ELSE IF', 2)
         yield kw_call
     if 'ELSE' in given_args:
         kw_call, else_call = self._split_run_kw_if_args(given_args, 'ELSE', 1)
         yield kw_call
         yield else_call
     elif self._validate_kw_call(given_args):
         expr, kw_call = given_args[0], given_args[1:]
         if not is_list_var(expr):
             yield kw_call
Esempio n. 7
0
 def _get_return_value(self, variables, return_):
     ret = self.return_value if not return_ else return_.return_value
     if not ret:
         return None
     contains_list_var = any(is_list_var(item) for item in ret)
     try:
         ret = variables.replace_list(ret)
     except DataError as err:
         raise DataError('Replacing variables from keyword return value '
                         'failed: %s' % unicode(err))
     if len(ret) != 1 or contains_list_var:
         return ret
     return ret[0]
Esempio n. 8
0
 def _get_return_value(self, variables, return_):
     ret = self.return_value if not return_ else return_.return_value
     if not ret:
         return None
     contains_list_var = any(is_list_var(item) for item in ret)
     try:
         ret = variables.replace_list(ret)
     except DataError as err:
         raise DataError('Replacing variables from keyword return value '
                         'failed: %s' % unicode(err))
     if len(ret) != 1 or contains_list_var:
         return ret
     return ret[0]
Esempio n. 9
0
 def _is_varargs(self, arg):
     return is_list_var(arg)
 def _validate_kw_call(self, kw_call, min_length=2):
     if len(kw_call) >= min_length:
         return True
     return any(is_list_var(item) for item in kw_call)
 def _validate_kw_call(self, kw_call, min_length=2):
     if len(kw_call) >= min_length:
         return True
     return any(is_list_var(item) for item in kw_call)
Esempio n. 12
0
 def _is_varargs(self, arg):
     return is_list_var(arg)
Esempio n. 13
0
 def validate(self, positional, named, dryrun=False):
     if dryrun and any(is_list_var(arg) for arg in positional):
         return
     self._validate_no_multiple_values(positional, named, self._argspec)
     self._validate_limits(positional, named, self._argspec)
     self._validate_no_mandatory_missing(positional, named, self._argspec)
Esempio n. 14
0
 def validate(self, positional, named, dryrun=False):
     if dryrun and any(is_list_var(arg) for arg in positional):
         return
     self._validate_no_multiple_values(positional, named, self._argspec)
     self._validate_limits(positional, named, self._argspec)
     self._validate_no_mandatory_missing(positional, named, self._argspec)