fau-tv-dl/dl.py
Ludwig Lehnert b32ae9fea7 refactoring
2025-02-16 08:40:29 +01:00

45 lines
1.3 KiB
Python

from lib import *
import os
import argparse
def parse_args():
parser = argparse.ArgumentParser(
description='Download clips from a course',
)
parser.add_argument('course-id', type=str, help='Course ID')
parser.add_argument('--out-dir', type=str,
help='Output directory', default='./out')
parser.add_argument('--starter=url', type=str,
help='Starter URL', default="https://www.fau.tv/auth/sso")
parser.add_argument('--start-at', type=int,
help='Skip all previous indices (defaults to 1)', default=1)
parser.add_argument('--auth-token', type=str)
parser.add_argument('--session-id', type=str)
parser.add_argument('--session-ci', type=str)
return parser.parse_args()
def main():
args = parse_args()
if args.authToken and args.sessionID and args.sessionCI:
set_token(args.authToken, args.sessionID, args.sessionCI)
else:
load_token(args.starterUrl)
os.makedirs(args.outDir, exist_ok=True)
for index, clip_id in enumerate(get_course_clip_ids(args.courseId)):
if index < args.startAt - 1:
continue
download_clip(clip_id, f'{args.outDir}/{index+1: 04d}_{clip_id}.mp4')
if __name__ == '__main__':
main()