ytdl-sub/ytdl_subscribe/main.py
2021-11-27 17:17:51 +00:00

40 lines
1.3 KiB
Python

import argparse
from ytdl_subscribe.parse import parse_subscriptions
parser = argparse.ArgumentParser(
description="YoutubeDL-Subscribe: Download and organize your favorite media easily."
)
parser.add_argument(
"-c",
"--config",
metavar="CONFIGPATH",
type=str,
help="path to the config yaml, uses subscriptions.yaml if not provided",
default="subscriptions.yaml",
)
subparsers = parser.add_subparsers(dest='subparser')
subscription_parser = subparsers.add_parser('s')
subscription_parser.add_argument(
"subscriptions",
metavar="SUB",
nargs="*",
help="specific subscriptions to download, downloads all if not provided",
)
download_parser = subparsers.add_parser('dl')
download_parser.add_argument("-p", "--preset", metavar="PRESET", help="which preset to apply")
download_parser.add_argument("-o", "--output", metavar="OUT", help="output path")
download_parser.add_argument("-r", "--overrides", metavar="NAME:VALUE", nargs="+", help="variable overrides formmatted as name:value")
if __name__ == "__main__":
args = parser.parse_args()
print(args)
subscriptions = parse_subscriptions(args.config)
if args.subparser == 's':
if args.subscriptions:
subscriptions = [s for s in subscriptions if s.name in args.subscriptions]
for s in subscriptions:
s.extract_info()