# Buggy code
async def local_search(
    self, ctx: commands.Context, play_subfolders: Optional[bool] = True, *, search_words
):
    """Search for songs across all localtracks folders."""
    if not await self._localtracks_check(ctx):
        return
    all_tracks = await self._folder_list(
        ctx,
        (
            audio_dataclasses.Query.process_input(
                audio_dataclasses.LocalPath(
                    await self.config.localpath()
                ).localtrack_folder.absolute(),
                search_subfolders=play_subfolders,
            )
        ),
    )
    if not all_tracks:
        return await self._embed_msg(ctx, _("No album folders found."))
    async with ctx.typing():
        search_list = await self._build_local_search_list(all_tracks, search_words)
    if not search_list:
        return await self._embed_msg(ctx, _("No matches."))
    return await ctx.invoke(self.search, query=search_list)


# Traceback (RuntimeError)
Traceback (most recent call last):
File "/home/martinebots/martinebotsvenv/lib/python3.7/site-packages/discord/ext/commands/core.py", line 79, in wrapped
ret = await coro(*args, **kwargs)
File "/home/martinebots/martinebotscogs/cogs_modified/audio/audio.py", line 3183, in play
await self._enqueue_tracks(ctx, query)
File "/home/martinebots/martinebotscogs/cogs_modified/audio/audio.py", line 3885, in _enqueue_tracks
result, called_api = await self.music_cache.lavalink_query(ctx, player, query)
File "/home/martinebots/martinebotscogs/cogs_modified/audio/apis.py", line 911, in lavalink_query
results = await player.load_tracks(query)
File "/home/martinebots/martinebotsvenv/lib/python3.7/site-packages/lavalink/rest_api.py", line 300, in load_tracks
self.__check_node_ready()
File "/home/martinebots/martinebotsvenv/lib/python3.7/site-packages/lavalink/rest_api.py", line 268, in __check_node_ready
raise RuntimeError("Cannot execute REST request when node not ready.")
RuntimeError: Cannot execute REST request when node not ready.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/home/martinebots/martinebotsvenv/lib/python3.7/site-packages/discord/ext/commands/bot.py", line 863, in invoke
await ctx.command.invoke(ctx)
File "/home/martinebots/martinebotsvenv/lib/python3.7/site-packages/discord/ext/commands/core.py", line 728, in invoke
await injected(*ctx.args, **ctx.kwargs)
File "/home/martinebots/martinebotsvenv/lib/python3.7/site-packages/discord/ext/commands/core.py", line 88, in wrapped
raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: RuntimeError: Cannot execute REST request when node not ready.```

# Fixed code
async def local_search(
    self,
    ctx: commands.Context,
    search_subfolders: Optional[bool] = True,
    *,
    search_words,
):
    """Search for songs across all localtracks folders."""
    if not await self._localtracks_check(ctx):
        return
    all_tracks = await self._folder_list(
        ctx,
        (
            audio_dataclasses.Query.process_input(
                audio_dataclasses.LocalPath(
                    await self.config.localpath()
                ).localtrack_folder.absolute(),
                search_subfolders=search_subfolders,
            )
        ),
    )
    if not all_tracks:
        return await self._embed_msg(ctx, title=_("No album folders found."))
    async with ctx.typing():
        search_list = await self._build_local_search_list(all_tracks, search_words)
    if not search_list:
        return await self._embed_msg(ctx, title=_("No matches."))
    return await ctx.invoke(self.search, query=search_list)