From 07466097a3eb98b44100ed026f2fda2f7300a8ef Mon Sep 17 00:00:00 2001 From: HallowedDust5 Date: Tue, 21 Jun 2022 22:58:33 -0400 Subject: [PATCH] Added docs and typing in function declarations --- utils/checker.py | 5 +++++ utils/cleanup.py | 5 +++++ utils/subreddit.py | 22 ++++++++++++++++++++-- utils/videos.py | 15 +++++++++++---- utils/voice.py | 17 +++++++++++------ video_creation/background.py | 19 ++++++++++++++++--- 6 files changed, 68 insertions(+), 15 deletions(-) diff --git a/utils/checker.py b/utils/checker.py index 07b1e15..668b40f 100755 --- a/utils/checker.py +++ b/utils/checker.py @@ -11,6 +11,11 @@ console = Console() def check_env() -> bool: + """Checks to see what's been put in .env + + Returns: + bool: Whether or not everything was put in properly + """ if not os.path.exists(".env.template"): console.print("[red]Couldn't find .env.template. Unable to check variables.") return True diff --git a/utils/cleanup.py b/utils/cleanup.py index 9490b6d..858cfe9 100644 --- a/utils/cleanup.py +++ b/utils/cleanup.py @@ -3,6 +3,11 @@ from os.path import exists def cleanup() -> int: + """Deletes all temporary assets in assets/temp + + Returns: + int: How many files were deleted + """ if exists("./assets/temp"): count = 0 files = [f for f in os.listdir(".") if f.endswith(".mp4") and "temp" in f.lower()] diff --git a/utils/subreddit.py b/utils/subreddit.py index e05c136..3c5cb22 100644 --- a/utils/subreddit.py +++ b/utils/subreddit.py @@ -4,7 +4,16 @@ from os import getenv from utils.console import print_substep -def get_subreddit_undone(submissions: List, subreddit): +def get_subreddit_undone(submissions: list, subreddit): + """_summary_ + + Args: + submissions (list): List of posts that are going to potentially be generated into a video + subreddit (praw.Reddit.SubredditHelper): Chosen subreddit + + Returns: + Any: The submission that has not been done + """ """ recursively checks if the top submission in the list was already done. """ @@ -27,7 +36,16 @@ def get_subreddit_undone(submissions: List, subreddit): ) # all of the videos in hot have already been done -def already_done(done_videos: list, submission): +def already_done(done_videos: list, submission)->bool: + """Checks to see if the given submission is in the list of videos + + Args: + done_videos (list): Finished videos + submission (Any): The submission + + Returns: + Boolean: Whether the video was found in the list + """ for video in done_videos: if video["id"] == str(submission): diff --git a/utils/videos.py b/utils/videos.py index 51a2704..e6510fe 100755 --- a/utils/videos.py +++ b/utils/videos.py @@ -5,10 +5,17 @@ from utils.console import print_step def check_done( - redditobj, -): # don't set this to be run anyplace that isn't subreddit.py bc of inspect stack - """params: - reddit_object: The Reddit Object you received in askreddit.py""" + redditobj:dict[str], +)->dict[str]|None: # don't set this to be run anyplace that isn't subreddit.py bc of inspect stack + """Checks if the chosen post has already been generated + + Args: + redditobj (dict[str]): Reddit object gotten from reddit/subreddit.py + + Returns: + dict[str]|None: Reddit object in args + """ + with open("./video_creation/data/videos.json", "r") as done_vids_raw: done_videos = json.load(done_vids_raw) for video in done_videos: diff --git a/utils/voice.py b/utils/voice.py index 120ee60..57b2b7e 100644 --- a/utils/voice.py +++ b/utils/voice.py @@ -1,12 +1,17 @@ import re -def sanitize_text(text): - """ - Sanitizes the text for tts. - What gets removed: - - following characters`^_~@!&;#:-%“”‘"%*/{}[]()\|<>?=+` - - any http or https links +def sanitize_text(text: str) -> str: + """Sanitizes the text for tts. + What gets removed: + - following characters`^_~@!&;#:-%“”‘"%*/{}[]()\|<>?=+` + - any http or https links + + Args: + text (str): Text to be sanitized + + Returns: + str: Sanitized text """ # remove any urls from the text diff --git a/video_creation/background.py b/video_creation/background.py index fb300e6..7236ecd 100644 --- a/video_creation/background.py +++ b/video_creation/background.py @@ -8,7 +8,16 @@ from moviepy.editor import VideoFileClip from utils.console import print_step, print_substep -def get_start_and_end_times(video_length, length_of_clip): +def get_start_and_end_times(video_length:int, length_of_clip:int)->tuple[int,int]: + """Generates a random interval of time to be used as the beckground of the video. + + Args: + video_length (int): Length of the video + length_of_clip (int): Length of the video to be used as the background + + Returns: + tuple[int,int]: Start and end time of the randomized interval + """ random_time = randrange(180, int(length_of_clip) - int(video_length)) return random_time, random_time + video_length @@ -43,7 +52,12 @@ def download_background(): print_substep("Background videos downloaded successfully! 🎉", style="bold green") -def chop_background_video(video_length): +def chop_background_video(video_length:int): + """Generates the background footage to be used in the video and writes it to assets/temp/background.mp4 + + Args: + video_length (int): Length of the clip where the background footage is to be taken out of + """ print_step("Finding a spot in the backgrounds video to chop...✂️") choice = random.choice(listdir("assets/backgrounds")) environ["background_credit"] = choice.split("-")[0] @@ -58,4 +72,3 @@ def chop_background_video(video_length): targetname="assets/temp/background.mp4", ) print_substep("Background video chopped successfully!", style="bold green") - return True