Advertisement
Guest User

Untitled

a guest
Apr 10th, 2019
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.06 KB | None | 0 0
  1. import praw, time, urllib, datetime
  2.  
  3. class RedditConnectionHandler():
  4. def __init__(self, username, password, useragent, clientid, secret):
  5. self.username = username
  6. self.password = password
  7. self.useragent = useragent
  8. self.clientid = clientid
  9. self.secret = secret
  10. self.connection = self.login()
  11.  
  12. def login(self):
  13. while(1):
  14. try:
  15. return praw.Reddit(client_id=self.clientid,
  16. client_secret=self.secret,
  17. password=self.password,
  18. username=self.username,
  19. user_agent=self.useragent)
  20. except urllib.error.HTTPError as e:
  21. if e.code in [429, 500, 502, 503, 504]:
  22. print("Reddit is down (error %s), sleeping..." % e.code)
  23. time.sleep(60)
  24. pass
  25. except Exception as e:
  26. print("Error in login", e)
  27. pass
  28.  
  29.  
  30. def convertdatetimetoutc(self, datetimestamp):
  31. return (datetimestamp.toordinal()-datetime.datetime(1970, 1, 1).toordinal())*24*60*60
  32.  
  33. def getTopSubmissions(self, subreddit_name, begindate, enddate):
  34. #submissions = self.connection.subreddit(subreddit_name).top("all")
  35. submissions = self.connection.subreddit(subreddit_name).submissions(start=self.convertdatetimetoutc(begindate), end=self.convertdatetimetoutc(enddate))
  36. submission_array = []
  37. while(1):
  38. try:
  39. submission_array.append(next(submissions))
  40. except StopIteration:
  41. break
  42. except urllib.error.HTTPError as e:
  43. if e.code in [429, 500, 502, 503, 504]:
  44. print("Reddit is down (error %s), sleeping..." % e.code)
  45. time.sleep(60)
  46. pass
  47. except Exception as e:
  48. print("Error in gettopsubmissions", e)
  49. pass
  50. return submission_array
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement