Skip to content
Snippets Groups Projects
Unverified Commit f4d595aa authored by MahiFaiyaz's avatar MahiFaiyaz Committed by GitHub
Browse files

Merge pull request #3 from waraich1/subreddit-class-api

Made classes for wrapping around the api routes
parents 34322207 d5834555
No related branches found
No related tags found
No related merge requests found
......@@ -2,19 +2,32 @@ from crypt import methods
import imp
import logging
import json
import os
from urllib import response
from flask import request, jsonify,Blueprint
from subredditClass.subreddit_functions import SubredditF
subreddit_routes = Blueprint('subreddit',__name__)
@subreddit_routes.route("/subreddit_posts", methods = ['GET'])
def subreddit_get():
def subreddit_get_posts():
sub = SubredditF()
res = sub.get_hot_posts('Canada',20)
response = jsonify(
authError=True,
data={
'data': res
}
)
return response
@subreddit_routes.route("/subreddit_comments", methods = ['GET'])
def subreddit_get_comments():
sub = SubredditF()
res = sub.get_hot_comments('Canada',20)
response = jsonify(
authError=True,
data={
'data': 'This works'
'data': res
}
)
return response
\ No newline at end of file
......@@ -15,7 +15,7 @@ data = {'grant_type': 'password',
# setup our header info, which gives reddit a brief description of our app
headers = {'User-Agent': 'Trenddit/0.0.1'}
headers = {'User-Agent': 'Trenddit/0.0.2'}
# send our request for an OAuth token
res = requests.post('https://www.reddit.com/api/v1/access_token',
......
from flask import redirect
import praw
from os import environ
from praw.models import MoreComments
class SubredditF:
def __init__(self) -> None:
self.reddit = praw.Reddit(
client_id=environ.get('CLIENT_ID'),
client_secret=environ.get('SECRET_ID'),
user_agent="Trenddit/0.0.2",
refresh_token='2350269160941-tBMkp2mTTMS_UUidLWbSwazOXzP4CA',
username=environ.get('USER_ID'),
password=environ.get('PASSWORD'),
)
self.reddit.read_only = True
def get_hot_posts(self,subredditName,num):
res = []
subreddit = self.reddit.subreddit(subredditName)
for submission in subreddit.hot(limit=num):
print(submission.id)
res.append(submission.title)
return res
def get_hot_comments(self,subredditName,num):
res = []
uuids = []
subreddit = self.reddit.subreddit(subredditName)
for submission in subreddit.hot(limit=num):
uuids.append(submission.id)
for i in uuids:
submission = self.reddit.submission(i)
submission.comments.replace_more(limit=0)
for top_level_comment in submission.comments:
if isinstance(top_level_comment, MoreComments):
continue
print(top_level_comment.body)
res.append((top_level_comment.body))
return res
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment