"""Utils for checking and correcting wavforms.""" from datetime import datetime import os # basic os operations like paths import easyargs from util.wav_utils import check_wav, setup_wav_check_logger from integration_scripts import logger from integration_scripts.file_utils import get_file_list @easyargs def main(file_name, root_dir=False): log_path = 'logs' log_table = 'NO_TABLE' date = datetime.today().strftime('%Y-%m-%d-%H-%M-%S') date = date.replace('-', '_') os.makedirs(log_path, exist_ok=True) wav_logger = setup_wav_check_logger(log_table, date, log_path) if root_dir: folders = get_file_list(file_name) for folder in folders: if os.path.isdir(folder): files = get_file_list(folder, filter_ext='wav') for file in files: check_wav(file, wav_logger) else: if os.path.splitext(folder)[1][1:] == 'wav': check_wav(file, wav_logger) else: logger.warning('{} is not a folder or a wav file. ' 'Skipping', folder) else: files = get_file_list(file_name, filter_ext='wav') for file in files: check_wav(file, wav_logger) if __name__ == '__main__': try: main() except Exception as e: print(str(e))