cli: Write album to stdout, all else to stderr
To facilitate scripting, all status messages, etc. are now printed to the standard error stream. If the standard output stream is not a terminal, the name of the album to be ripped is printed there, on the assumption that the calling script is capturing it, e.g. in a variable.pull/3/head
parent
b0540e494c
commit
9b63933eb9
|
@ -1,6 +1,7 @@
|
|||
import logging
|
||||
import os
|
||||
from pathlib import Path
|
||||
import sys
|
||||
from typing import Any, Dict, Iterable, List, Optional
|
||||
|
||||
import typer
|
||||
|
@ -94,7 +95,7 @@ def prompt_menu(console: Console, choices: Iterable[Any]) -> int:
|
|||
console.print(f'[bright_yellow]{idx + 1})[/bright_yellow]: {choice}')
|
||||
max_ += 1
|
||||
while 1:
|
||||
choice = Prompt.ask('Selection')
|
||||
choice = Prompt.ask('Selection', console=console)
|
||||
try:
|
||||
i = int(choice)
|
||||
except ValueError:
|
||||
|
@ -155,7 +156,7 @@ def run(
|
|||
help='Increase log level (can be repated)',
|
||||
),
|
||||
):
|
||||
console = Console(highlight=False)
|
||||
console = Console(highlight=False, stderr=True)
|
||||
if verbose < 1:
|
||||
level = logging.WARNING
|
||||
elif verbose < 2:
|
||||
|
@ -179,6 +180,8 @@ def run(
|
|||
release = get_release_by_id(mbid)
|
||||
else:
|
||||
release = prompt_release(console, dev)
|
||||
if not sys.stdout.isatty():
|
||||
print(f'{release.artist_credit_phrase} - {release.title}')
|
||||
console.print(f'Ripping {format_release(release)}')
|
||||
|
||||
num_discs = len(release.medium_list)
|
||||
|
|
Loading…
Reference in New Issue