Mercurial > hg > auditok
changeset 184:de766e047fd2
Organize command line arguments by categories of kwargs
author | Amine Sehili <amine.sehili@gmail.com> |
---|---|
date | Fri, 29 Mar 2019 20:41:51 +0100 |
parents | c1397190e35e |
children | da8d454ece74 |
files | auditok/cmdline.py auditok/cmdline_util.py |
diffstat | 2 files changed, 32 insertions(+), 23 deletions(-) [+] |
line wrap: on
line diff
--- a/auditok/cmdline.py Thu Mar 28 21:02:10 2019 +0100 +++ b/auditok/cmdline.py Fri Mar 29 20:41:51 2019 +0100 @@ -371,13 +371,13 @@ worker = workers.PrintWorker(print_format, time_format, timestamp_format) observers.append(worker) - reader = AudioDataSource(args.input, **kwargs.io_kwargs) + 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_kwargs + reader, observers, logger=logger, **kwargs.split ) tokenizer_worker.start_all()
--- a/auditok/cmdline_util.py Thu Mar 28 21:02:10 2019 +0100 +++ b/auditok/cmdline_util.py Fri Mar 29 20:41:51 2019 +0100 @@ -1,35 +1,44 @@ import sys import logging - +from collections import namedtuple LOGGER_NAME = "AUDITOK_LOGGER" +KeywordArguments = namedtuple("KeywordArguments", ["io", "split"]) class TimeFormatError(Exception): pass -def make_kwargs(args_namespace): - kwargs = { - "min_dur": args_namespace.min_duration, - "max_dur": args_namespace.max_duration, - "max_silence": args_namespace.max_silence, - "drop_trailing_silence": args_namespace.drop_trailing_silence, - "strict_min_dur": args_namespace.strict_min_duration, - "energy_threshold": args_namespace.energy_threshold, - "max_read_time": args_namespace.max_time, - "analysis_window": args_namespace.analysis_window, - "sampling_rate": args_namespace.sampling_rate, - "sample_with": args_namespace.sample_width, - "channels": args_namespace.channels, - "use_channel": args_namespace.use_channel, - "input_type": args_namespace.input_type, - "output_type": args_namespace.output_type, - "large_file": args_namespace.large_file, - "frames_per_buffer": args_namespace.frame_per_buffer, - "input_device_index": args_namespace.input_device_index, +def make_kwargs(args_ns): + if args_ns.output_main is None: + record = args_ns.plot or (args_ns.save_image is not None) + else: + record = False + io_kwargs = { + "max_read_time": args_ns.max_time, + "block_dur": args_ns.analysis_window, + "sampling_rate": args_ns.sampling_rate, + "sample_width": args_ns.sample_width, + "channels": args_ns.channels, + "use_channel": args_ns.use_channel, + "input_type": args_ns.input_type, + "output_type": args_ns.output_type, + "large_file": args_ns.large_file, + "frames_per_buffer": args_ns.frame_per_buffer, + "input_device_index": args_ns.input_device_index, + "record": record, } - return kwargs + + split_kwargs = { + "min_dur": args_ns.min_duration, + "max_dur": args_ns.max_duration, + "max_silence": args_ns.max_silence, + "drop_trailing_silence": args_ns.drop_trailing_silence, + "strict_min_length": args_ns.strict_min_length, + "energy_threshold": args_ns.energy_threshold, + } + return KeywordArguments(io_kwargs, split_kwargs) def make_duration_fromatter(fmt):