2022-02-04 13:54:10 +00:00
|
|
|
#!/usr/bin/env python3
|
|
|
|
|
|
|
|
import argparse
|
|
|
|
|
|
|
|
from .commands.process_command import ProcessCommand
|
|
|
|
from .commands.copy_command import CopyCommand
|
2022-02-04 16:19:11 +00:00
|
|
|
from .commands.transcode_command import TranscodeCommand
|
2022-02-04 13:54:10 +00:00
|
|
|
|
|
|
|
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')
|
|
|
|
|
2022-02-04 16:19:11 +00:00
|
|
|
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")
|
2022-02-04 17:01:59 +00:00
|
|
|
transcode_parser.add_argument(
|
|
|
|
'--ignore-extension',
|
|
|
|
action='store_true')
|
2022-02-04 16:19:11 +00:00
|
|
|
|
2022-02-04 13:54:10 +00:00
|
|
|
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()
|
2022-02-04 16:19:11 +00:00
|
|
|
elif args.subparser_name == "transcode":
|
|
|
|
TranscodeCommand(
|
|
|
|
args.src,
|
|
|
|
args.dest,
|
|
|
|
args.transcode_level,
|
2022-02-04 17:01:59 +00:00
|
|
|
args.ignore_extension
|
2022-02-04 16:19:11 +00:00
|
|
|
).run()
|