コード例 #1
0
ファイル: filesetter.py プロジェクト: Garjy/RIDE
 def _validate(self, name, value):
     if name[0] == '@' and not is_list_like(value):
         raise DataError("Invalid variable '%s': Expected list-like value, "
                         "got %s." % (name, type_name(value)))
     if name[0] == '&' and not is_dict_like(value):
         raise DataError("Invalid variable '%s': Expected dict-like value, "
                         "got %s." % (name, type_name(value)))
コード例 #2
0
 def _validate(self, name, value):
     if name[0] == '@' and not is_list_like(value):
         raise DataError("Invalid variable '%s': Expected list-like value, "
                         "got %s." % (name, type_name(value)))
     if name[0] == '&' and not is_dict_like(value):
         raise DataError("Invalid variable '%s': Expected dict-like value, "
                         "got %s." % (name, type_name(value)))
コード例 #3
0
 def _process_cli_opts(self, opts):
     for name, (cli_name, default) in self._cli_opts.items():
         value = opts[cli_name] if cli_name in opts else default
         if default == [] and not is_list_like(value):
             value = [value]
         self[name] = self._process_value(name, value)
     self['TestNames'] += self['ReRunFailed'] or self['DeprecatedRunFailed']
コード例 #4
0
 def _decorate(self, name, value):
     if is_dict_like(value):
         name = '&{%s}' % name
     elif is_list_like(value):
         name = '@{%s}' % name
     else:
         name = '${%s}' % name
     return name, value
コード例 #5
0
ファイル: replacer.py プロジェクト: 357112130/robotframework
 def _get_variable_item(self, name, variable, item):
     if is_dict_like(variable):
         return self._get_dict_variable_item(name, variable, item)
     if is_list_like(variable):
         return self._get_list_variable_item(name, variable, item)
     raise VariableError("Variable '%s' is %s, not list or dictionary, "
                         "and thus accessing item '%s' from it is not "
                         "possible." % (name, type_name(variable), item))
コード例 #6
0
ファイル: Remote.py プロジェクト: HelioGuilherme66/RIDE
 def _convert(self, value):
     if isinstance(value, xmlrpclib.Binary):
         return bytes(value.data)
     if is_dict_like(value):
         return DotDict((k, self._convert(v)) for k, v in value.items())
     if is_list_like(value):
         return [self._convert(v) for v in value]
     return value
コード例 #7
0
ファイル: store.py プロジェクト: Garjy/RIDE
 def _decorate(self, name, value):
     if is_dict_like(value):
         name = '&{%s}' % name
     elif is_list_like(value):
         name = '@{%s}' % name
     else:
         name = '${%s}' % name
     return name, value
コード例 #8
0
 def _convert(self, value):
     if isinstance(value, xmlrpclib.Binary):
         return str(value)
     if is_dict_like(value):
         return DotDict((k, self._convert(v)) for k, v in value.items())
     if is_list_like(value):
         return [self._convert(v) for v in value]
     return value
コード例 #9
0
 def _process_cli_opts(self, opts):
     for name, (cli_name, default) in self._cli_opts.items():
         value = opts[cli_name] if cli_name in opts else default
         if isinstance(default, list):
             # Copy mutable values and support list values as scalars.
             value = list(value) if is_list_like(value) else [value]
         self[name] = self._process_value(name, value)
     self['TestNames'] += self['ReRunFailed'] + self['TaskNames']
     self['SuiteNames'] += self['ReRunFailedSuites']
コード例 #10
0
ファイル: settings.py プロジェクト: HelioGuilherme66/RIDE
 def _process_cli_opts(self, opts):
     for name, (cli_name, default) in self._cli_opts.items():
         value = opts[cli_name] if cli_name in opts else default
         if isinstance(default, list):
             # Copy mutable values and support list values as scalars.
             value = list(value) if is_list_like(value) else [value]
         self[name] = self._process_value(name, value)
     self['TestNames'] += self['ReRunFailed'] + self['TaskNames']
     self['SuiteNames'] += self['ReRunFailedSuites']
コード例 #11
0
 def get_listeners(self, libinst=None):
     if libinst is None:
         libinst = self.get_instance()
     listeners = getattr(libinst, 'ROBOT_LIBRARY_LISTENER', None)
     if listeners is None:
         return []
     if is_list_like(listeners):
         return listeners
     return [listeners]
コード例 #12
0
ファイル: replacer.py プロジェクト: HelioGuilherme66/RIDE
 def _get_variable_item(self, name, variable, item):
     if is_dict_like(variable):
         return self._get_dict_variable_item(name, variable, item)
     if is_list_like(variable):
         return self._get_list_variable_item(name, variable, item)
     raise VariableError("Variable '%s' is %s, not list or dictionary, "
                         "and thus accessing item '%s' from it is not "
                         "possible."
                         % (name, type_name(variable), item))
コード例 #13
0
 def _transform_items(self, items):
     answer = list()
     for item in items:
         if not is_list_like(item):
             raise DataError('FOR IN ZIP items must all be list-like, '
                             'got %s.' % type_name(item))
     for zipped_item in zip(*[list(item) for item in items]):
         answer.extend(zipped_item)
     return answer
コード例 #14
0
 def validate(self, types):
     if types is None:
         return None
     if not types:
         return {}
     if is_dict_like(types):
         return self.validate_type_dict(types)
     if is_list_like(types):
         return self.convert_type_list_to_dict(types)
     raise DataError('Type information must be given as a dictionary or '
                     'a list, got %s.' % type_name(types))
コード例 #15
0
 def _undecorate(self, name, value):
     validate_var(name)
     if name[0] == '@':
         if not is_list_like(value):
             self._raise_cannot_set_type(name, value, 'list')
         value = list(value)
     if name[0] == '&':
         if not is_dict_like(value):
             self._raise_cannot_set_type(name, value, 'dictionary')
         value = DotDict(value)
     return name[2:-1], value
コード例 #16
0
ファイル: store.py プロジェクト: Garjy/RIDE
 def _undecorate(self, name, value):
     validate_var(name)
     if name[0] == '@':
         if not is_list_like(value):
             self._raise_cannot_set_type(name, value, 'list')
         value = list(value)
     if name[0] == '&':
         if not is_dict_like(value):
             self._raise_cannot_set_type(name, value, 'dictionary')
         value = DotDict(value)
     return name[2:-1], value
コード例 #17
0
 def _validate_value(self, value, identifier, name):
     if identifier == '@':
         if not is_list_like(value):
             raise VariableError("Value of variable '%s' is not list or "
                                 "list-like." % name)
         return list(value)
     if identifier == '&':
         if not is_dict_like(value):
             raise VariableError("Value of variable '%s' is not dictionary "
                                 "or dictionary-like." % name)
         return DotDict(value)
     return value
コード例 #18
0
ファイル: finders.py プロジェクト: Garjy/RIDE
 def _validate_value(self, value, identifier, name):
     if identifier == '@':
         if not is_list_like(value):
             raise VariableError("Value of variable '%s' is not list or "
                                 "list-like." % name)
         return list(value)
     if identifier == '&':
         if not is_dict_like(value):
             raise VariableError("Value of variable '%s' is not dictionary "
                                 "or dictionary-like." % name)
         return DotDict(value)
     return value
コード例 #19
0
ファイル: finders.py プロジェクト: 357112130/robotframework
 def _validate_value(self, value, identifier, name):
     if identifier == '@':
         if not is_list_like(value):
             raise VariableError("Value of variable '%s' is not list or "
                                 "list-like." % name)
         # TODO: Is converting to list needed or would checking be enough?
         # TODO: Check this and DotDict usage below in RF 3.1.
         return list(value)
     if identifier == '&':
         if not is_dict_like(value):
             raise VariableError("Value of variable '%s' is not dictionary "
                                 "or dictionary-like." % name)
         # TODO: Is converting to DotDict needed? Check in RF 3.1.
         return DotDict(value)
     return value
コード例 #20
0
ファイル: finders.py プロジェクト: HelioGuilherme66/RIDE
 def _validate_value(self, value, identifier, name):
     if identifier == '@':
         if not is_list_like(value):
             raise VariableError("Value of variable '%s' is not list or "
                                 "list-like." % name)
         # TODO: Is converting to list needed or would checking be enough?
         # TODO: Check this and DotDict usage below in RF 3.1.
         return list(value)
     if identifier == '&':
         if not is_dict_like(value):
             raise VariableError("Value of variable '%s' is not dictionary "
                                 "or dictionary-like." % name)
         # TODO: Is converting to DotDict needed? Check in RF 3.1.
         return DotDict(value)
     return value
コード例 #21
0
ファイル: Process.py プロジェクト: HelioGuilherme66/RIDE
    def join_command_line(self, *args):
        """Joins arguments into one command line string.

        In resulting command line string arguments are delimited with a space,
        arguments containing spaces are surrounded with quotes, and possible
        quotes are escaped with a backslash.

        If this keyword is given only one argument and that is a list like
        object, then the values of that list are joined instead.

        Example:
        | ${cmd} = | Join Command Line | --option | value with spaces |
        | Should Be Equal | ${cmd} | --option "value with spaces" |

        New in Robot Framework 2.9.2.
        """
        if len(args) == 1 and is_list_like(args[0]):
            args = args[0]
        return subprocess.list2cmdline(args)
コード例 #22
0
ファイル: listeners.py プロジェクト: Garjy/RIDE
 def _take_copy_of_mutable_value(self, value):
     if is_dict_like(value):
         return dict(value)
     if is_list_like(value):
         return list(value)
     return value
コード例 #23
0
 def _get_listeners(self, inst):
     if not hasattr(inst, 'ROBOT_LIBRARY_LISTENER'):
         return None
     listeners = inst.ROBOT_LIBRARY_LISTENER
     return listeners if is_list_like(listeners) else [listeners]
コード例 #24
0
 def _resolve_setting(self, value):
     if is_list_like(value):
         return self._variables.replace_list(value, ignore_errors=True)
     return self._variables.replace_string(value, ignore_errors=True)
コード例 #25
0
ファイル: Process.py プロジェクト: HelioGuilherme66/RIDE
 def _log_start(self, command, config):
     if is_list_like(command):
         command = self.join_command_line(command)
     logger.info(u'Starting process:\n%s' % system_decode(command))
     logger.debug(u'Process configuration:\n%s' % config)
コード例 #26
0
ファイル: flattenkeywordmatcher.py プロジェクト: Garjy/RIDE
 def __init__(self, flatten):
     if not is_list_like(flatten):
         flatten = [flatten]
     names = [n[5:] for n in flatten if n[:5].lower() == 'name:']
     self._matcher = MultiMatcher(names)
コード例 #27
0
ファイル: flattenkeywordmatcher.py プロジェクト: Garjy/RIDE
 def __init__(self, flatten):
     if not is_list_like(flatten):
         flatten = [flatten]
     patterns = [p[4:] for p in flatten if p[:4].lower() == 'tag:']
     self._matcher = TagPatterns(patterns)
コード例 #28
0
ファイル: Collections.py プロジェクト: HelioGuilherme66/RIDE
 def _validate_list(self, list_, position=1):
     if not is_list_like(list_):
         raise TypeError("Expected argument %d to be a list or list-like, "
                         "got %s instead." % (position, type_name(list_)))
コード例 #29
0
ファイル: flattenkeywordmatcher.py プロジェクト: Garjy/RIDE
 def __init__(self, flatten):
     if not is_list_like(flatten):
         flatten = [flatten]
     flatten = [f.lower() for f in flatten]
     self._types = [f for f in flatten if f in ('for', 'foritem')]
コード例 #30
0
ファイル: variables.py プロジェクト: 357112130/robotframework
 def replace_list(self, items, replace_until=None, ignore_errors=False):
     if not is_list_like(items):
         raise ValueError("'replace_list' requires list-like input.")
     return self._replacer.replace_list(items, replace_until, ignore_errors)
コード例 #31
0
 def _validate_list(self, list_, position=1):
     if not is_list_like(list_):
         raise TypeError("Expected argument %d to be a list or list-like, "
                         "got %s instead." % (position, type_name(list_)))
コード例 #32
0
 def __init__(self, flatten):
     if not is_list_like(flatten):
         flatten = [flatten]
     patterns = [p[4:] for p in flatten if p[:4].lower() == 'tag:']
     self._matcher = TagPatterns(patterns)
コード例 #33
0
 def _get_tags_from_attribute(self, handler_method):
     tags = getattr(handler_method, 'robot_tags', ())
     if not is_list_like(tags):
         raise DataError("Expected tags to be list-like, got %s."
                         % type_name(tags))
     return tags
コード例 #34
0
 def _take_copy_of_mutable_value(self, value):
     if is_dict_like(value):
         return dict(value)
     if is_list_like(value):
         return list(value)
     return value
コード例 #35
0
ファイル: variables.py プロジェクト: HelioGuilherme66/RIDE
 def replace_list(self, items, replace_until=None, ignore_errors=False):
     if not is_list_like(items):
         raise ValueError("'replace_list' requires list-like input.")
     return self._replacer.replace_list(items, replace_until, ignore_errors)
コード例 #36
0
ファイル: runner.py プロジェクト: HelioGuilherme66/RIDE
 def _resolve_setting(self, value):
     if is_list_like(value):
         return self._variables.replace_list(value, ignore_errors=True)
     return self._variables.replace_string(value, ignore_errors=True)
コード例 #37
0
 def __init__(self, flatten):
     if not is_list_like(flatten):
         flatten = [flatten]
     flatten = [f.lower() for f in flatten]
     self._types = [f for f in flatten if f in ('for', 'foritem')]
コード例 #38
0
 def __init__(self, flatten):
     if not is_list_like(flatten):
         flatten = [flatten]
     names = [n[5:] for n in flatten if n[:5].lower() == 'name:']
     self._matcher = MultiMatcher(names)
コード例 #39
0
 def _passing_list(self, arguments):
     return self._correct_count(arguments) and is_list_like(arguments[-1])
コード例 #40
0
ファイル: javaargumentcoercer.py プロジェクト: Garjy/RIDE
 def _passing_list(self, arguments):
     return self._correct_count(arguments) and is_list_like(arguments[-1])