mirror of
https://github.com/developersIndia/deviras.git
synced 2024-11-08 13:42:34 +05:30
Add the AMA Summariser - Question & Question Links to Markdown Script (#14)
This commit is contained in:
parent
9cce47796f
commit
1c85fa5adc
@ -33,6 +33,11 @@
|
||||
- Used for creating [Showcase Sunday Megathreads](https://www.reddit.com/r/developersIndia/search/?q=flair%3A%20Showcase%20Sunday&restrict_sr=1) posts in the subreddit.
|
||||
- ![action build](https://github.com/developersIndia/deviras/actions/workflows/showcase-sunday.yml/badge.svg)
|
||||
|
||||
### [ama-summarizer](https://github.com/developersIndia/deviras/blob/main/ama-summarizer/main.py/)
|
||||
- The Python script to help during AMAs. It generates a markdown file of questions and links of the questions the AMA guest has answered.
|
||||
|
||||
|
||||
|
||||
## Setup
|
||||
|
||||
1. Clone the repo
|
||||
|
60
ama-summarizer/main.py
Normal file
60
ama-summarizer/main.py
Normal file
@ -0,0 +1,60 @@
|
||||
import praw
|
||||
import os
|
||||
from dotenv import dotenv_values
|
||||
|
||||
def get_reddit_instance():
|
||||
# Reddit API credentials
|
||||
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_secret = os.environ["REDDIT_CLIENT_SECRET"]
|
||||
reddit_pass = os.environ["REDDIT_PASSWORD"]
|
||||
username = os.environ["REDDIT_USERNAME"]
|
||||
|
||||
# Create a Reddit instance
|
||||
reddit = praw.Reddit(client_id=client_id,
|
||||
client_secret=client_secret,
|
||||
password=reddit_pass,
|
||||
user_agent=user_agent,
|
||||
username=username)
|
||||
return reddit
|
||||
|
||||
|
||||
def get_post_url():
|
||||
|
||||
post_url = input("Enter the AMA post URL: ") # reddit.com URLs preferred
|
||||
return post_url
|
||||
|
||||
def get_guest_username():
|
||||
|
||||
guest_username = input("Enter the AMA guest username: ")
|
||||
return guest_username
|
||||
|
||||
def main():
|
||||
reddit = get_reddit_instance()
|
||||
|
||||
post_url = get_post_url()
|
||||
guest_username = get_guest_username()
|
||||
|
||||
submission = reddit.submission(url=post_url)
|
||||
submission.comments.replace_more(limit=None)
|
||||
|
||||
markdown_file = ''
|
||||
question_number = 1
|
||||
|
||||
for comment in submission.comments.list():
|
||||
if comment.author and comment.author.name.lower() == guest_username.lower():
|
||||
question_text = comment.parent().body.replace('\n', ' ')
|
||||
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:
|
||||
file.write(markdown_file)
|
||||
|
||||
print('Markdown file questions.md generated successfully.')
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
||||
|
5
ama-summarizer/readme.md
Normal file
5
ama-summarizer/readme.md
Normal file
@ -0,0 +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.
|
||||
|
||||
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.
|
Loading…
Reference in New Issue
Block a user