From b10890837711f62d192490d592f31bfe6fbf107a Mon Sep 17 00:00:00 2001 From: Mohammad Momeni Date: Fri, 8 Mar 2024 20:57:48 +0100 Subject: [PATCH] Use parser choices to filter providers (#26) See https://github.com/moehmeni/syncedlyrics/commit/0e991132334de8a99a8aa2c334b88bffe2db1856#commitcomment-139566554 for more. --- README.md | 2 +- syncedlyrics/cli.py | 13 +++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 8a3bd9a..9ba3c88 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ syncedlyrics "SEARCH_TERM" | Flag | Description | | --- | --- | | `-o` | Path to save `.lrc` lyrics, default="{search_term}.lrc" | -| `-p` | Comma-separated list of providers to include in searching | +| `-p` | Space-separated list of providers to include in searching | | `-l` | Language code of the translation ([ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes) format) | | `-v` | Use this flag to show the logs | | `--allow-plain` | Return a plain text (not synced) lyrics if no LRC format was found | diff --git a/syncedlyrics/cli.py b/syncedlyrics/cli.py index a6ad1dc..965761d 100644 --- a/syncedlyrics/cli.py +++ b/syncedlyrics/cli.py @@ -14,8 +14,11 @@ def cli_handler(): parser.add_argument("search_term", help="The search term to find the track.") parser.add_argument( "-p", - help="Comma-separated list of providers to include in searching", + help="Providers to include in the searching (separated by space). Default: all providers", default="", + choices=["deezer", "lrclib", "megalobiz", "musixmatch", "netease"], + nargs="+", + type=str.lower, ) parser.add_argument( "-l", "--lang", help="Language of the translation along with the lyrics" @@ -32,8 +35,10 @@ def cli_handler(): action="store_true", ) args = parser.parse_args() - logging.basicConfig(level=logging.DEBUG if args.verbose else logging.INFO) - p = args.p.split(",") if args.p else None - lrc = search(args.search_term, args.allow_plain, args.output, p, lang=args.lang) + if args.verbose: + logging.basicConfig(level=logging.DEBUG) + lrc = search( + args.search_term, args.allow_plain, args.output, args.p, lang=args.lang + ) if lrc: print(lrc)