Mercurial > hg > auditok
changeset 203:f482cc79c10e
Add progress bar option to command line
author | Amine Sehili <amine.sehili@gmail.com> |
---|---|
date | Fri, 24 May 2019 20:34:17 +0100 |
parents | c92ed44b7737 |
children | a8a710547553 |
files | auditok/cmdline.py |
diffstat | 1 files changed, 28 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/auditok/cmdline.py Sun May 19 15:30:46 2019 +0100 +++ b/auditok/cmdline.py Fri May 24 20:34:17 2019 +0100 @@ -22,6 +22,7 @@ from auditok import __version__ from .util import AudioDataSource +from .io import player_for from .cmdline_util import make_logger, make_kwargs from . import workers @@ -40,7 +41,9 @@ parser = ArgumentParser( prog=program_name, description="An Audio Tokenization tool" ) - parser.add_argument("--version", "-v", action="version", version=version) + parser.add_argument( + "--version", "-v", action="version", version=version + ) group = parser.add_argument_group("Input-Output options") group.add_argument( "-i", @@ -268,6 +271,14 @@ help="Play back each detection immediately using pyaudio", ) group.add_argument( + "-B", + "--progress-bar", + dest="progress_bar", + action="store_true", + default=False, + help="Show a progress bar when playing audio", + ) + group.add_argument( "-p", "--plot", dest="plot", @@ -345,6 +356,11 @@ kwargs = make_kwargs(args) observers = [] + reader = AudioDataSource(args.input, **kwargs.io) + if args.output_main is not None: + reader = workers.StreamSaverWorker(reader, args.output_main) + reader.start() + if args.output_tokens is not None: worker = workers.RegionSaverWorker( args.output_tokens, args.output_type, logger=logger @@ -352,12 +368,17 @@ observers.append(worker) if args.echo: - progress_bar = args.quiet and not args.debug - worker = workers.PlayerWorker(progress_bar=progress_bar, logger=logger) + player = player_for(reader) + progress_bar = args.progress_bar + worker = workers.PlayerWorker( + player, progress_bar=progress_bar, logger=logger + ) observers.append(worker) if args.command is not None: - worker = workers.CommandLineWorker(command=args.command, logger=logger) + worker = workers.CommandLineWorker( + command=args.command, logger=logger + ) observers.append(worker) if not args.quiet: @@ -368,14 +389,11 @@ ) time_format = args.time_format timestamp_format = args.timestamp_format - worker = workers.PrintWorker(print_format, time_format, timestamp_format) + worker = workers.PrintWorker( + print_format, time_format, timestamp_format + ) observers.append(worker) - reader = AudioDataSource(args.input, **kwargs.io) - if args.output_main is not None: - reader = workers.StreamSaverWorker(reader, args.output_main) - reader.start() - tokenizer_worker = workers.TokenizerWorker( reader, observers, logger=logger, **kwargs.split )