updates
parent
483c611bee
commit
4aeffe36bb
31
autodrama.py
31
autodrama.py
|
@ -1,4 +1,4 @@
|
||||||
TEST_MODE = True
|
TEST_MODE = False
|
||||||
|
|
||||||
from typing import Tuple
|
from typing import Tuple
|
||||||
from numpy import average
|
from numpy import average
|
||||||
|
@ -11,8 +11,10 @@ import langdetect
|
||||||
from RDramaAPIInterface import RDramaAPIInterface
|
from RDramaAPIInterface import RDramaAPIInterface
|
||||||
from bs4 import BeautifulSoup
|
from bs4 import BeautifulSoup
|
||||||
from markdown import markdown
|
from markdown import markdown
|
||||||
|
import datetime
|
||||||
|
|
||||||
BANNED_WORDS_IN_POST = ['comment', 'promotion']
|
BANNED_WORDS_IN_POST = ['comment', 'promotion']
|
||||||
|
BANNED_SUBREDDITS = ['LoveIslandTV']
|
||||||
LANGUAGE_DETECTION_ACCURACY_THRESHOLD = 10
|
LANGUAGE_DETECTION_ACCURACY_THRESHOLD = 10
|
||||||
|
|
||||||
def get_real_filename(filename : str):
|
def get_real_filename(filename : str):
|
||||||
|
@ -69,6 +71,7 @@ def has_banned_submitter(submission : Submission):
|
||||||
|
|
||||||
def get_based_submissions(subreddit, time_frame, limit):
|
def get_based_submissions(subreddit, time_frame, limit):
|
||||||
subscriber_cache = {}
|
subscriber_cache = {}
|
||||||
|
subreddit_name_cache = {}
|
||||||
|
|
||||||
submissions = []
|
submissions = []
|
||||||
most_based_score = 0
|
most_based_score = 0
|
||||||
|
@ -83,6 +86,11 @@ def get_based_submissions(subreddit, time_frame, limit):
|
||||||
continue
|
continue
|
||||||
if (submission.subreddit not in subscriber_cache):
|
if (submission.subreddit not in subscriber_cache):
|
||||||
subscriber_cache[submission.subreddit] = submission.subreddit.subscribers
|
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
|
relative_basedness = ((basedness/subscriber_cache[submission.subreddit]))*100000
|
||||||
if (basedness > most_based_score):
|
if (basedness > most_based_score):
|
||||||
most_based_score = basedness
|
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])
|
maximum_angry_info = min(lolcow_comments, key=lambda a : a[0])
|
||||||
minimum_angry_info = max(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"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"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)})")
|
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
|
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:*")
|
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)
|
return "\n\n".join(markdown_lines)
|
||||||
|
|
||||||
def create_file_report(submission : 'Submission'):
|
def create_file_report(submission : 'Submission', absolute):
|
||||||
submission_name = submission.title
|
submission_name = submission.title
|
||||||
print(f"Generating submission for https://reddit.com{submission.permalink}")
|
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"
|
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)
|
print(submission_report)
|
||||||
with open(filename, "wb") as f:
|
with open(filename, "wb") as f:
|
||||||
f.write(submission_report.encode("utf-8"))
|
f.write(submission_report.encode("utf-8"))
|
||||||
|
@ -414,7 +422,12 @@ else:
|
||||||
timeout = 10
|
timeout = 10
|
||||||
rdrama = RDramaAPIInterface(auth, website, timeout, https=https)
|
rdrama = RDramaAPIInterface(auth, website, timeout, https=https)
|
||||||
|
|
||||||
#daily_drama_post(rdrama)
|
def create_report(submission : Submission, absolute):
|
||||||
print(generate_submission_report(Submission(reddit, "ukgxe8"), True))
|
file_name = sanitize_sentence(submission.title).replace(" ", "_")
|
||||||
#get_based_submissions("all", "day", 150)
|
with open(f"{file_name}.md", "w+", encoding="utf-8") as f:
|
||||||
#is_submission_english(Submission(reddit, "uk817z"))
|
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()}")
|
Loading…
Reference in New Issue