From d76b25e250f9d9e2aaa90eafc5b3004e0acbf6f0 Mon Sep 17 00:00:00 2001 From: Uyanide Date: Tue, 31 Mar 2026 05:44:50 +0200 Subject: [PATCH] feat: 'search' command no longer requires 'title' param --- README.md | 50 ++++++++++++++++++++++++++++++++++--------------- lrcfetch/cli.py | 4 ++-- 2 files changed, 37 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 2a38f75..07c7510 100644 --- a/README.md +++ b/README.md @@ -18,25 +18,45 @@ Lyrics are fetched using a fallback pipeline (first synced result wins): See `lrcfetch --help` for full command reference. Common use cases: -```bash -# Fetch lyrics for the currently playing track -lrcfetch fetch +- Fetch lyrics for the currently playing track: -# Search by metadata (bypasses MPRIS) -lrcfetch search -t "Song Title" -a "Artist" + ```bash + lrcfetch fetch + ``` -# Export to .lrc file -lrcfetch export + using a specific player or source to fetch from: -# Force a specific source -lrcfetch fetch --method spotify + ```bash + lrcfetch --player mpd fetch --method lrclib-search + ``` -# Cache management -lrcfetch cache stats # show cache statistics -lrcfetch cache query # query cache for current track -lrcfetch cache clear # clears cache of current track -lrcfetch cache clear --all # clears entire cache -``` +- Search by metadata (bypasses MPRIS): + + ```bash + lrcfetch search -t "My Love" -a "Westlife" + lrcfetch search --trackid "5p0ietGkLNEqx1Z7ijkw5g" + ``` + +- Export to sidecar `.lrc` file: + + ```bash + lrcfetch export + ``` + + or to a custom path: + + ```bash + lrcfetch export --output /path/to/lyrics.lrc + ``` + +- Cache management: + + ```bash + lrcfetch cache stats # show cache statistics + lrcfetch cache query # query cache for current track + lrcfetch cache clear # clears cache of current track + lrcfetch cache clear --all # clears entire cache + ``` ## Configuration diff --git a/lrcfetch/cli.py b/lrcfetch/cli.py index 7900f19..0ddc2bf 100644 --- a/lrcfetch/cli.py +++ b/lrcfetch/cli.py @@ -108,8 +108,8 @@ def fetch( def search( *, title: Annotated[ - str, cyclopts.Parameter(name=["--title", "-t"], help="Track title.") - ], + str | None, cyclopts.Parameter(name=["--title", "-t"], help="Track title.") + ] = None, artist: Annotated[ str | None, cyclopts.Parameter(name=["--artist", "-a"], help="Artist name.") ] = None,