mirror of
https://github.com/developersIndia/deviras.git
synced 2024-12-22 08:09:49 +05:30
ignore deleted questions from the summarizer
This commit is contained in:
parent
ee24bdcbf6
commit
9f0bf8bfc5
1
ama-summarizer/.gitignore
vendored
Normal file
1
ama-summarizer/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
questions.md
|
@ -1,60 +1,65 @@
|
|||||||
import praw
|
import praw
|
||||||
import os
|
import os
|
||||||
from dotenv import dotenv_values
|
|
||||||
|
|
||||||
def get_reddit_instance():
|
def get_reddit_instance():
|
||||||
# Reddit API credentials
|
# Reddit API credentials
|
||||||
user_agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 14.2; rv:109.0) Gecko/20100101 Firefox/121.0'
|
user_agent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 14.2; rv:109.0) Gecko/20100101 Firefox/121.0"
|
||||||
client_id = os.environ["REDDIT_CLIENT_ID"]
|
client_id = os.environ["REDDIT_CLIENT_ID"]
|
||||||
client_secret = os.environ["REDDIT_CLIENT_SECRET"]
|
client_secret = os.environ["REDDIT_CLIENT_SECRET"]
|
||||||
reddit_pass = os.environ["REDDIT_PASSWORD"]
|
reddit_pass = os.environ["REDDIT_PASSWORD"]
|
||||||
username = os.environ["REDDIT_USERNAME"]
|
username = os.environ["REDDIT_USERNAME"]
|
||||||
|
|
||||||
# Create a Reddit instance
|
# Create a Reddit instance
|
||||||
reddit = praw.Reddit(client_id=client_id,
|
reddit = praw.Reddit(
|
||||||
client_secret=client_secret,
|
client_id=client_id,
|
||||||
password=reddit_pass,
|
client_secret=client_secret,
|
||||||
user_agent=user_agent,
|
password=reddit_pass,
|
||||||
username=username)
|
user_agent=user_agent,
|
||||||
|
username=username,
|
||||||
|
)
|
||||||
return reddit
|
return reddit
|
||||||
|
|
||||||
|
|
||||||
def get_post_url():
|
def get_post_url():
|
||||||
|
post_url = input("Enter the AMA post URL: ") # reddit.com URLs preferred
|
||||||
post_url = input("Enter the AMA post URL: ") # reddit.com URLs preferred
|
|
||||||
return post_url
|
return post_url
|
||||||
|
|
||||||
def get_guest_username():
|
|
||||||
|
|
||||||
guest_username = input("Enter the AMA guest username: ")
|
def get_guest_username():
|
||||||
|
guest_username = input("Enter the AMA guest username: ")
|
||||||
return guest_username
|
return guest_username
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
reddit = get_reddit_instance()
|
reddit = get_reddit_instance()
|
||||||
|
|
||||||
post_url = get_post_url()
|
post_url = get_post_url()
|
||||||
guest_username = get_guest_username()
|
guest_username = get_guest_username()
|
||||||
|
|
||||||
submission = reddit.submission(url=post_url)
|
submission = reddit.submission(url=post_url)
|
||||||
submission.comments.replace_more(limit=None)
|
submission.comments.replace_more(limit=None)
|
||||||
|
|
||||||
markdown_file = ''
|
markdown_file = ""
|
||||||
question_number = 1
|
question_number = 1
|
||||||
|
|
||||||
for comment in submission.comments.list():
|
for comment in submission.comments.list():
|
||||||
if comment.author and comment.author.name.lower() == guest_username.lower():
|
if comment.author and comment.author.name.lower() == guest_username.lower():
|
||||||
question_text = comment.parent().body.replace('\n', ' ')
|
# TODO truncate long questions with ellipsis
|
||||||
question_link = 'https://reddit.com' + comment.parent().permalink
|
question_text = comment.parent().body.replace("\n", " ")
|
||||||
markdown_file += f'{question_number}. [{question_text}]({question_link})\n'
|
# avoid deleted questions/comments
|
||||||
question_number += 1
|
if question_text != "[deleted]":
|
||||||
|
question_link = "https://reddit.com" + comment.parent().permalink
|
||||||
|
markdown_file += (
|
||||||
|
f"{question_number}. [{question_text}]({question_link})\n"
|
||||||
|
)
|
||||||
|
question_number += 1
|
||||||
|
|
||||||
# UTF-8 encoding
|
with open("questions.md", "w", encoding="utf-8") as file:
|
||||||
with open('questions.md', 'w', encoding='utf-8') as file:
|
|
||||||
file.write(markdown_file)
|
file.write(markdown_file)
|
||||||
|
|
||||||
print('Markdown file questions.md generated successfully.')
|
print(f"{question_number} questions generated successfully.")
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
The Python script to help during AMAs. It generates a markdown file of questions and links of the questions the AMA guest has answered.
|
# ama-summarizer
|
||||||
|
|
||||||
This script is designed to generate a Markdown file containing questions and links from a Reddit post's comments. It specifically focuses on questions or comments answered by a specific user.
|
- The Python script to help during [AMAs](https://developersindia.in/ama-archive/). It generates a markdown file of questions and links to the questions the AMA guest has answered.
|
||||||
|
- This script is designed to generate a Markdown file containing questions and links from a Reddit post's comments. It specifically focuses on questions or comments answered by a specific user.
|
||||||
The resulting Markdown file will contain a list of questions or comments that the specified guest has answered, with each question numbered and linked to the corresponding Reddit comment.
|
- The resulting Markdown file will contain a list of questions or comments that the specified guest has answered, with each question numbered and linked to the corresponding Reddit comment.
|
||||||
|
1
ama-summarizer/requirements.txt
Normal file
1
ama-summarizer/requirements.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
praw
|
Loading…
Reference in New Issue
Block a user