#!/usr/bin/env python3 import argparse from .commands.process_command import ProcessCommand from .commands.copy_command import CopyCommand from .commands.transcode_command import TranscodeCommand parser = argparse.ArgumentParser( description="chaos's musicutil") subparsers = parser.add_subparsers(dest="subparser_name") process_parser = subparsers.add_parser('process') process_parser.add_argument( 'src', type=str, help='src base music directory') process_parser.add_argument( '--dry-run', action='store_true') copy_parser = subparsers.add_parser('copy') copy_parser.add_argument( 'src', type=str, help='src base music directory') copy_parser.add_argument( 'dest', type=str, help='dest music directory') copy_parser.add_argument( '--transcode-level', type=str, help='transcode level', default="copy") copy_parser.add_argument( '--skip-existing', action='store_true') copy_parser.add_argument( '--single-directory', action='store_true') transcode_parser = subparsers.add_parser('transcode') transcode_parser.add_argument( 'src', type=str, help='src base music directory') transcode_parser.add_argument( 'dest', type=str, help='dest music directory') transcode_parser.add_argument( '--transcode-level', type=str, help='transcode level', default="opus-96k") transcode_parser.add_argument( '--ignore-extension', action='store_true') transcode_parser.add_argument( '--custom-encoder-config', type=str, help='custom encoder config') args = parser.parse_args() if args.subparser_name == "process": ProcessCommand(args.src, args.dry_run).run() elif args.subparser_name == "copy": CopyCommand( args.src, args.dest, args.transcode_level, args.single_directory, args.skip_existing ).run() elif args.subparser_name == "transcode": TranscodeCommand( args.src, args.dest, args.transcode_level, args.ignore_extension, args.custom_encoder_config ).run()