def _get(self, node, name, fast_access,<EOL>shortcuts, max_depth, auto_load, with_links):
if auto_load and not with_links:<EOL><INDENT>raise ValueError('<STR_LIT>')<EOL><DEDENT>if isinstance(name, list):<EOL><INDENT>split_name = name<EOL><DEDENT>elif isinstance(name, tuple):<EOL><INDENT>split_name = list(name)<EOL><DEDENT>elif isinstance(name, int):<EOL><INDENT>split_name = [name]<EOL><DEDENT>else:<EOL><INDENT>split_name = name.split('<STR_LIT:.>')<EOL><DEDENT>if node.v_is_root:<EOL><INDENT>if len(split_name) == <NUM_LIT:1> and split_name[<NUM_LIT:0>] == '<STR_LIT>':<EOL><INDENT>return node<EOL><DEDENT>key = split_name[<NUM_LIT:0>]<EOL>_, key = self._translate_shortcut(key)<EOL>if key in SUBTREE_MAPPING and key not in node._children:<EOL><INDENT>node.f_add_group(key)<EOL><DEDENT><DEDENT>if max_depth is None:<EOL><INDENT>max_depth = float('<STR_LIT>')<EOL><DEDENT>if len(split_name) > max_depth and shortcuts:<EOL><INDENT>raise ValueError(<EOL>'<STR_LIT>' %<EOL>(str(name), max_depth))<EOL><DEDENT>try_auto_load_directly1 = False<EOL>try_auto_load_directly2 = False<EOL>wildcard_positions = []<EOL>root = self._root_instance<EOL>for idx, key in enumerate(split_name):<EOL><INDENT>translated_shortcut, key = self._translate_shortcut(key)<EOL>if translated_shortcut:<EOL><INDENT>split_name[idx] = key<EOL><DEDENT>if key[<NUM_LIT:0>] == '<STR_LIT:_>':<EOL><INDENT>raise AttributeError('<STR_LIT>'<EOL>'<STR_LIT>'<EOL>'<STR_LIT>' % key)<EOL><DEDENT>is_wildcard = self._root_instance.f_is_wildcard(key)<EOL>if (not is_wildcard and key not in self._nodes_and_leaves and<EOL>key not in self._links_count):<EOL><INDENT>try_auto_load_directly1 = True<EOL>try_auto_load_directly2 = True<EOL><DEDENT>if is_wildcard:<EOL><INDENT>wildcard_positions.append((idx, key))<EOL>if root.f_wildcard(key) not in self._nodes_and_leaves:<EOL><INDENT>try_auto_load_directly1 = True<EOL><DEDENT>if root.f_wildcard(key, -<NUM_LIT:1>) not in self._nodes_and_leaves:<EOL><INDENT>try_auto_load_directly2 = True<EOL><DEDENT><DEDENT><DEDENT>run_idx = root.v_idx<EOL>wildcard_exception = None <EOL>if try_auto_load_directly1 and try_auto_load_directly2 and not auto_load:<EOL><INDENT>for wildcard_pos, wildcard in wildcard_positions:<EOL><INDENT>split_name[wildcard_pos] = root.f_wildcard(wildcard, run_idx)<EOL><DEDENT>raise AttributeError('<STR_LIT>' %<EOL>str('<STR_LIT:.>'.join(split_name)))<EOL><DEDENT>if run_idx > -<NUM_LIT:1>:<EOL><INDENT>with self._disable_logging:<EOL><INDENT>try:<EOL><INDENT>for wildcard_pos, wildcard in wildcard_positions:<EOL><INDENT>split_name[wildcard_pos] = root.f_wildcard(wildcard, run_idx)<EOL><DEDENT>result = self._perform_get(node, split_name, fast_access,<EOL>shortcuts, max_depth, auto_load, with_links,<EOL>try_auto_load_directly1)<EOL>return result<EOL><DEDENT>except (pex.DataNotInStorageError, AttributeError) as exc:<EOL><INDENT>wildcard_exception = exc<EOL><DEDENT><DEDENT><DEDENT>if wildcard_positions:<EOL><INDENT>for wildcard_pos, wildcard in wildcard_positions:<EOL><INDENT>split_name[wildcard_pos] = root.f_wildcard(wildcard, -<NUM_LIT:1>)<EOL><DEDENT><DEDENT>try:<EOL><INDENT>return self._perform_get(node, split_name, fast_access,<EOL>shortcuts, max_depth, auto_load, with_links,<EOL>try_auto_load_directly2)<EOL><DEDENT>except (pex.DataNotInStorageError, AttributeError):<EOL><INDENT>if wildcard_exception is not None:<EOL><INDENT>raise wildcard_exception<EOL><DEDENT>else:<EOL><INDENT>raise<EOL><DEDENT><DEDENT>
Searches for an item (parameter/result/group node) with the given `name`.

        :param node: The node below which the search is performed

        :param name: Name of the item (full name or parts of the full name)

        :param fast_access: If the result is a parameter, whether fast access should be applied.

        :param max_depth:

            Maximum search depth relative to start node.

        :param auto_load:

            If data should be automatically loaded

        :param with_links

            If links should be considered

        :return:

            The found instance (result/parameter/group node) or if fast access is True and you
            found a parameter or result that supports fast access, the contained value is returned.

        :raises:

            AttributeError if no node with the given name can be found.
            Raises errors that are raised by the storage service if `auto_load=True` and
            item cannot be found.