From 222a6b2f4366678df4aecfb4e3315c905925a789 Mon Sep 17 00:00:00 2001 From: Morgan Barber Date: Fri, 10 May 2024 15:26:38 +0000 Subject: [PATCH] Basic CLI functions --- main.py | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/main.py b/main.py index 6b581ef..0041253 100755 --- a/main.py +++ b/main.py @@ -1,11 +1,9 @@ -#!/usr/bin/env python import math import sys from os import name from pathlib import Path from subprocess import Popen from typing import NoReturn - from prawcore import ResponseException from utils.console import print_substep from reddit.subreddit import get_subreddit_threads @@ -14,16 +12,20 @@ from utils.cleanup import cleanup from utils.console import print_markdown, print_step from utils.id import id from utils.version import checkversion +from video_creation.final_video import make_final_video +from video_creation.screenshot_downloader import get_screenshots_of_reddit_posts +from video_creation.voices import save_text_to_mp3 +from utils.ffmpeg_install import ffmpeg_install +import argparse + +#!/usr/bin/env python + from video_creation.background import ( download_background_video, download_background_audio, chop_background, get_background_config, ) -from video_creation.final_video import make_final_video -from video_creation.screenshot_downloader import get_screenshots_of_reddit_posts -from video_creation.voices import save_text_to_mp3 -from utils.ffmpeg_install import ffmpeg_install __VERSION__ = "3.2.1" @@ -80,6 +82,12 @@ def shutdown() -> NoReturn: if __name__ == "__main__": + parser = argparse.ArgumentParser(description="Reddit Video Maker Bot") + parser.add_argument("--post-id", help="Specify the post ID") + parser.add_argument("--run-many", type=int, help="Run the program multiple times") + parser.add_argument("--id") + args = parser.parse_args() + if sys.version_info.major != 3 or sys.version_info.minor not in [10, 11]: print( "Hey! Congratulations, you've made it so far (which is pretty rare with no Python 3.10). Unfortunately, this program only works on Python 3.10. Please install Python 3.10 and try again." @@ -102,16 +110,10 @@ if __name__ == "__main__": ) sys.exit() try: - if config["reddit"]["thread"]["post_id"]: - for index, post_id in enumerate(config["reddit"]["thread"]["post_id"].split("+")): - index += 1 - print_step( - f'on the {index}{("st" if index % 10 == 1 else ("nd" if index % 10 == 2 else ("rd" if index % 10 == 3 else "th")))} post of {len(config["reddit"]["thread"]["post_id"].split("+"))}' - ) - main(post_id) - Popen("cls" if name == "nt" else "clear", shell=True).wait() - elif config["settings"]["times_to_run"]: - run_many(config["settings"]["times_to_run"]) + if args.post_id: + main(args.post_id) + elif args.run_many: + run_many(args.run_many) else: main() except KeyboardInterrupt: