diff --git a/reddit/subreddit.py b/reddit/subreddit.py index 40c95b6..bf9be74 100644 --- a/reddit/subreddit.py +++ b/reddit/subreddit.py @@ -2,14 +2,10 @@ from numpy import Infinity from rich.console import Console from utils.console import print_step, print_substep, print_markdown from dotenv import load_dotenv -import os -import random -import praw -import re +import os, random, praw, re console = Console() - def get_subreddit_threads(): global submission """ @@ -49,7 +45,7 @@ def get_subreddit_threads(): if os.getenv("SUBREDDIT"): subreddit = reddit.subreddit(re.sub(r"r\/", "", os.getenv("SUBREDDIT"))) else: - # ! Prompt the user to enter a subreddit + # Prompt the user to enter a subreddit try: subreddit = reddit.subreddit( re.sub( @@ -64,7 +60,7 @@ def get_subreddit_threads(): threads = subreddit.hot(limit=25) submission = list(threads)[random.randrange(0, 25)] - + print_substep(f"Video will be: {submission.title}") print("Getting video comments...") @@ -76,8 +72,13 @@ def get_subreddit_threads(): for top_level_comment in submission.comments: COMMENT_LENGTH_RANGE = [0, Infinity] - if os.getenv("COMMENT_LENGTH_RANGE"): - COMMENT_LENGTH_RANGE = [int(i) for i in os.getenv("COMMENT_LENGTH_RANGE").split(",")] + + # Ensure all values are numeric before attempting to cast + if os.getenv("COMMENT_LENGTH_RANGE") and (False not in list(map(lambda arg: arg.isnumeric(), os.getenv("COMMENT_LENGTH_RANGE").split(",")))): + try: + COMMENT_LENGTH_RANGE = [int(i) for i in os.getenv("COMMENT_LENGTH_RANGE").split(",")] + except TypeError: + pass if COMMENT_LENGTH_RANGE[0] <= len(top_level_comment.body) <= COMMENT_LENGTH_RANGE[1]: if not top_level_comment.stickied: content["comments"].append( @@ -87,9 +88,9 @@ def get_subreddit_threads(): "comment_id": top_level_comment.id, } ) - except AttributeError: pass - print_substep("Received AskReddit threads successfully.", style="bold green") + print_substep("Received AskReddit threads successfully.", style="bold green") + print(content["comments"]) return content