Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import praw, time, urllib, datetime
- class RedditConnectionHandler():
- def __init__(self, username, password, useragent, clientid, secret):
- self.username = username
- self.password = password
- self.useragent = useragent
- self.clientid = clientid
- self.secret = secret
- self.connection = self.login()
- def login(self):
- while(1):
- try:
- return praw.Reddit(client_id=self.clientid,
- client_secret=self.secret,
- password=self.password,
- username=self.username,
- user_agent=self.useragent)
- except urllib.error.HTTPError as e:
- if e.code in [429, 500, 502, 503, 504]:
- print("Reddit is down (error %s), sleeping..." % e.code)
- time.sleep(60)
- pass
- except Exception as e:
- print("Error in login", e)
- pass
- def convertdatetimetoutc(self, datetimestamp):
- return (datetimestamp.toordinal()-datetime.datetime(1970, 1, 1).toordinal())*24*60*60
- def getTopSubmissions(self, subreddit_name, begindate, enddate):
- #submissions = self.connection.subreddit(subreddit_name).top("all")
- submissions = self.connection.subreddit(subreddit_name).submissions(start=self.convertdatetimetoutc(begindate), end=self.convertdatetimetoutc(enddate))
- submission_array = []
- while(1):
- try:
- submission_array.append(next(submissions))
- except StopIteration:
- break
- except urllib.error.HTTPError as e:
- if e.code in [429, 500, 502, 503, 504]:
- print("Reddit is down (error %s), sleeping..." % e.code)
- time.sleep(60)
- pass
- except Exception as e:
- print("Error in gettopsubmissions", e)
- pass
- return submission_array
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement