From 65f74f586ba38848c87f18dacf5477832a4e0433 Mon Sep 17 00:00:00 2001 From: iaacornus Date: Mon, 6 Jun 2022 18:09:35 +0800 Subject: [PATCH] removed the complex code about user given thread link, this would instead use the -t parameter in command line --- reddit/subreddit.py | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/reddit/subreddit.py b/reddit/subreddit.py index ffeaccb..c85ba08 100644 --- a/reddit/subreddit.py +++ b/reddit/subreddit.py @@ -8,7 +8,7 @@ from dotenv import load_dotenv from utils.console import print_step, print_substep -def get_subreddit_threads(subreddit_): +def get_subreddit_threads(subreddit_, thread_link_): """ Takes subreddit_ as parameter which defaults to None, but in this case since it is None, it would raise ValueError, thus defaulting @@ -20,8 +20,6 @@ def get_subreddit_threads(subreddit_): global submission load_dotenv() - print_step("Getting AskReddit threads...") - if os.getenv("REDDIT_2FA", default="no").casefold() == "yes": print( "\nEnter your two-factor authentication code from your authenticator app.\n" @@ -53,17 +51,39 @@ def get_subreddit_threads(subreddit_): subreddit = reddit.subreddit("askreddit") print_substep("Subreddit not defined. Using AskReddit.") - threads = subreddit.hot(limit=25) - submission = list(threads)[random.randrange(0, 25)] + # If the user specifies that he doesnt want a random thread, or if + # he doesn't insert the "RANDOM_THREAD" variable at all, ask the thread link + if thread_link_ is not None: + thread_link = thread_link_ + print_step(f"Getting the inserted thread...") + submission = reddit.submission(url=thread_link) + else: + # Otherwise, picks a random thread from the inserted subreddit + if os.getenv("SUBREDDIT"): + subreddit = reddit.subreddit(re.sub(r"r\/", "", os.getenv("SUBREDDIT"))) + else: + # ! Prompt the user to enter a subreddit + try: + subreddit = reddit.subreddit( + re.sub(r"r\/", "",input("What subreddit would you like to pull from? ")) + ) + except ValueError: + subreddit = reddit.subreddit("askreddit") + print_substep("Subreddit not defined. Using AskReddit.") + + threads = subreddit.hot(limit=25) + submission = list(threads)[random.randrange(0, 25)] + print_substep(f"Video will be: {submission.title} :thumbsup:") try: content["thread_url"] = submission.url content["thread_title"] = submission.title + content["thread_post"] = submission.selftext content["comments"] = [] for top_level_comment in submission.comments: - if not top_level_comment.stickied: + if not top_level_comment.stickied: content["comments"].append( { "comment_body": top_level_comment.body,