Returns commands, which can be filtered by name or plugin.

        :param name: name of the command
        :type name: str
        :param plugin: plugin object, which registers the commands
        :type plugin: instance of GwBasePattern
        :return: None, single command or dict of commands

def get(self, name=None, plugin=None):
        """
        Returns commands, which can be filtered by name or plugin.

        :param name: name of the command
        :type name: str
        :param plugin: plugin object, which registers the commands
        :type plugin: instance of GwBasePattern
        :return: None, single command or dict of commands
        """
        if plugin is not None:
            if name is None:
                command_list = {}
                for key in self._commands.keys():
                    if self._commands[key].plugin == plugin:
                        command_list[key] = self._commands[key]
                return command_list
            else:
                if name in self._commands.keys():
                    if self._commands[name].plugin == plugin:
                        return self._commands[name]
                    else:
                        return None
                else:
                    return None
        else:
            if name is None:
                return self._commands
            else:
                if name in self._commands.keys():
                    return self._commands[name]
                else:
                    return None