Loading scripts/smoketest-basop-filter.py 0 → 100644 +53 −0 Original line number Diff line number Diff line #! /usr/bin/env python3 import argparse import json import logging import sys logging.basicConfig(level=logging.INFO, format='%(levelname)s: %(message)s') logger = logging.getLogger() def main(): parser = argparse.ArgumentParser() parser.add_argument("input", help="input JSON", type=argparse.FileType('r')) parser.add_argument("output", help="output JSON", type=argparse.FileType('w'), nargs="?") parser.add_argument("--inline", "-i", help="patch input inline", action="store_true") args = parser.parse_args() if not args.inline and not args.output: logging.error("You must specify an output file or use --inline") return 1 modes = json.load(args.input) for mode in ("MC", "stereo", "OMASA"): for encoder_config_name in modes[mode].keys(): try: del modes[mode][encoder_config_name]["dec"]["EXT"] except KeyError: logger.warning(f"No EXT dec in {mode} -> {encoder_config_name}, skipping") continue else: logger.info(f"Found EXT dec in {mode} -> {encoder_config_name}, removing") for encoder_config_name in tuple(modes["OSBA"].keys()): if not "FOA" in encoder_config_name: continue logger.info(f"Removing OSBA FOA encoder config {encoder_config_name}") del modes["OSBA"][encoder_config_name] if args.inline: with open(args.input.name, "w") as f: json.dump(modes, f, indent=4) else: json.dump(modes, args.output, indent=4) if __name__ == "__main__": sys.exit(main()) Loading
scripts/smoketest-basop-filter.py 0 → 100644 +53 −0 Original line number Diff line number Diff line #! /usr/bin/env python3 import argparse import json import logging import sys logging.basicConfig(level=logging.INFO, format='%(levelname)s: %(message)s') logger = logging.getLogger() def main(): parser = argparse.ArgumentParser() parser.add_argument("input", help="input JSON", type=argparse.FileType('r')) parser.add_argument("output", help="output JSON", type=argparse.FileType('w'), nargs="?") parser.add_argument("--inline", "-i", help="patch input inline", action="store_true") args = parser.parse_args() if not args.inline and not args.output: logging.error("You must specify an output file or use --inline") return 1 modes = json.load(args.input) for mode in ("MC", "stereo", "OMASA"): for encoder_config_name in modes[mode].keys(): try: del modes[mode][encoder_config_name]["dec"]["EXT"] except KeyError: logger.warning(f"No EXT dec in {mode} -> {encoder_config_name}, skipping") continue else: logger.info(f"Found EXT dec in {mode} -> {encoder_config_name}, removing") for encoder_config_name in tuple(modes["OSBA"].keys()): if not "FOA" in encoder_config_name: continue logger.info(f"Removing OSBA FOA encoder config {encoder_config_name}") del modes["OSBA"][encoder_config_name] if args.inline: with open(args.input.name, "w") as f: json.dump(modes, f, indent=4) else: json.dump(modes, args.output, indent=4) if __name__ == "__main__": sys.exit(main())