in prompts/khanacademy/khan_dl/main.py [0:0]
def main(argv=None):
argv = sys.argv if argv is None else argv
argparser = argparse.ArgumentParser()
argparser.add_argument(
"-i",
"--interactive",
help="Enter Interactive Course Selection Mode",
dest="interactive_prompt",
action="store_true",
)
argparser.add_argument(
"-c",
"--course_url",
help="Enter Course URL",
)
argparser.add_argument(
"-a",
"--all",
help="Download all Courses from all Domains",
action="store_true",
)
argparser.add_argument(
"-v",
"--verbose",
help="Verbose Levels of log. 1 = Warning; 2 = Info; 3 = Debug",
)
args = argparser.parse_args()
if args.interactive_prompt:
set_log_level(args)
tprint("KHAN-DL")
khan_down = KhanDL()
khan_down.download_course_interactive()
elif args.course_url:
set_log_level(args)
tprint("KHAN-DL")
print("Looking up " + args.course_url + "...")
selected_course_url = args.course_url
khan_down = KhanDL()
khan_down.download_course_given(selected_course_url)
elif args.all:
set_log_level(args)
tprint("KHAN-DL")
khan_down = KhanDL()
all_course_urls = khan_down.get_all_courses()
courses = [khan_down.download_course_given(course_url) for course_url in tqdm(all_course_urls)]
with open("khan_courses.json", "w") as outfile:
outfile.write(json.dumps(courses, indent=4))