From 4aeffe36bbff180b3d02b7e77cf19f12ba7bda85 Mon Sep 17 00:00:00 2001 From: Hey Moon Date: Wed, 2 Nov 2022 19:36:02 -0500 Subject: [PATCH] updates --- autodrama.py | 31 ++++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/autodrama.py b/autodrama.py index 111617f..18026fb 100644 --- a/autodrama.py +++ b/autodrama.py @@ -1,4 +1,4 @@ -TEST_MODE = True +TEST_MODE = False from typing import Tuple from numpy import average @@ -11,8 +11,10 @@ import langdetect from RDramaAPIInterface import RDramaAPIInterface from bs4 import BeautifulSoup from markdown import markdown +import datetime BANNED_WORDS_IN_POST = ['comment', 'promotion'] +BANNED_SUBREDDITS = ['LoveIslandTV'] LANGUAGE_DETECTION_ACCURACY_THRESHOLD = 10 def get_real_filename(filename : str): @@ -69,6 +71,7 @@ def has_banned_submitter(submission : Submission): def get_based_submissions(subreddit, time_frame, limit): subscriber_cache = {} + subreddit_name_cache = {} submissions = [] most_based_score = 0 @@ -83,6 +86,11 @@ def get_based_submissions(subreddit, time_frame, limit): continue if (submission.subreddit not in subscriber_cache): subscriber_cache[submission.subreddit] = submission.subreddit.subscribers + if (not submission.subreddit in subreddit_name_cache): + subreddit_name_cache[submission.subreddit] = submission.subreddit.display_name + if (subreddit_name_cache[submission.subreddit] in BANNED_SUBREDDITS): + print(f"Disregarding \"{submission.title}\" ({submission.id}): Banned subreddit") + continue relative_basedness = ((basedness/subscriber_cache[submission.subreddit]))*100000 if (basedness > most_based_score): most_based_score = basedness @@ -285,8 +293,8 @@ def generate_lolcow_display_section(lolcows): maximum_angry_info = min(lolcow_comments, key=lambda a : a[0]) minimum_angry_info = max(lolcow_comments, key=lambda a : a[0]) markdown_lines.append(f"Average angriness: {angriness_score_string(average_angriness)}") - markdown_lines.append(f"Maximum angriness: [{angriness_score_string(maximum_angry_info[0])}]({get_reddit_full_url(maximum_angry_info[1]['comment'].permalink)})") - markdown_lines.append(f"Minimum angriness: [{angriness_score_string(minimum_angry_info[0])}]({get_reddit_full_url(minimum_angry_info[1]['comment'].permalink)})") + markdown_lines.append(f"Maximum angriness: [{angriness_score_string(maximum_angry_info[0])}]({get_reddit_full_url(maximum_angry_info[1]['comment'].permalink)}?context=3)") + markdown_lines.append(f"Minimum angriness: [{angriness_score_string(minimum_angry_info[0])}]({get_reddit_full_url(minimum_angry_info[1]['comment'].permalink)}?context=3)") return markdown_lines @@ -301,11 +309,11 @@ def generate_submission_report(submission : 'Submission', absolute: bool): markdown_lines.append("*:marppy: autodrama: automating away the jobs of dramautists. :marseycapitalistmanlet: Ping HeyMoon if there are any problems or you have a suggestion :marseyjamming:*") return "\n\n".join(markdown_lines) -def create_file_report(submission : 'Submission'): +def create_file_report(submission : 'Submission', absolute): submission_name = submission.title print(f"Generating submission for https://reddit.com{submission.permalink}") filename = "".join([i.lower() for i in submission_name if i.lower() in "abcdefghijklmnopqrstuvwxyz "])[:30].replace(" ", "_") + "_" + submission.subreddit.name + ".md" - submission_report = generate_submission_report(submission) + submission_report = generate_submission_report(submission, absolute) print(submission_report) with open(filename, "wb") as f: f.write(submission_report.encode("utf-8")) @@ -414,7 +422,12 @@ else: timeout = 10 rdrama = RDramaAPIInterface(auth, website, timeout, https=https) -#daily_drama_post(rdrama) -print(generate_submission_report(Submission(reddit, "ukgxe8"), True)) -#get_based_submissions("all", "day", 150) -#is_submission_english(Submission(reddit, "uk817z")) \ No newline at end of file +def create_report(submission : Submission, absolute): + file_name = sanitize_sentence(submission.title).replace(" ", "_") + with open(f"{file_name}.md", "w+", encoding="utf-8") as f: + f.write(generate_submission_report(submission, absolute)) + +if __name__ == "__main__": + # print(f"Starting at {datetime.datetime.now()}") + # daily_drama_post(rdrama) + # print(f"Ending at {datetime.datetime.now()}") \ No newline at end of file