Advertisement
Guest User

Untitled

a guest
Feb 9th, 2017
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.85 KB | None | 0 0
  1. import praw
  2. import time
  3. import datetime
  4. import sqlite3
  5. import re
  6. import sys
  7.  
  8.  
  9. data = sqlite3.connect('findareddit.db')
  10. cur = data.cursor()
  11. cur.execute('CREATE TABLE IF NOT EXISTS checked (id)')
  12. data.commit()
  13.  
  14. total = 0
  15. log = {}
  16.  
  17. cur.execute('CREATE TABLE IF NOT EXISTS logs(session, flaired)')
  18. data.commit()
  19.  
  20. class submissionSearch(object):
  21.  
  22. def __init__(self, submission):
  23. self.submission = submission
  24. self.created = submission.created_utc
  25. self.day_previous = time.mktime(datetime.datetime.now().timetuple()) - (24*60*60)
  26. self.id = submission.id
  27. self.author = submission.author
  28. self.submission.flair_class = None
  29. self.run()
  30.  
  31. def check_database(self):
  32. cur.execute('SELECT * FROM checked WHERE id=?',[self.id])
  33. if not cur.fetchone():
  34. return True
  35. else:
  36. return False
  37.  
  38. def submit_to_database(self):
  39. cur.execute('INSERT INTO checked VALUES(?)',[self.id])
  40. data.commit()
  41. print('Saved to database!')
  42.  
  43. def check_age(self):
  44. if int(self.created - self.day_previous) > 0:
  45. return True
  46. else:
  47. return False
  48.  
  49. def find_suggested(self):
  50. subreddit_list = []
  51. for comment in self.submission.comments:
  52. try:
  53. subreddit_start = str(comment.body)[re.search('r/',str(comment.body)).span()[1]:]
  54. subreddit = subreddit_start[subreddit_start.find(' ')]
  55. subreddit_list.append(subreddit)
  56. except:
  57. pass
  58. return subreddit_list
  59.  
  60. def set_flair(self):
  61. global log, total
  62. subreddit_list = self.find_suggested()
  63. for comment in reddit.redditor(str(self.author)).new(limit=100):
  64. if any(subreddit.lower() in str(comment.subreddit).lower() for subreddit in subreddit_list if str(subreddit).lower() != 'findareddit') and int(comment.created_utc - self.created) > 0 and self.check_database() is True:
  65. self.submission.mod.flair(text='Found!',css_class='foundflair')
  66. print('Flaired submission by /u/{}'.format(self.author))
  67. self.submit_to_database()
  68. total += 1
  69.  
  70.  
  71. def run(self):
  72. try:
  73. if self.check_database() is True and self.check_age() is True:
  74. self.set_flair()
  75. else:
  76. pass
  77. except Exception as e:
  78. time.sleep(10)
  79. if e is KeyboardInterrupt:
  80. log[str(time.strftime('%G-%m-%d'))] = total
  81. with open('log.txt','a') as f:
  82. f.write('\n\n{}'.format(log[str(time.strftime('%G-%m-%d'))]))
  83. f.close()
  84. sys.exit()
  85. else:
  86. print(e)
  87.  
  88. def main():
  89. global reddit
  90. reddit = praw.Reddit(username='RhodoMod',password='ThunderingMisusingWesterlyDescriptive@123',client_id='4QhscarQGdK50w',client_secret='wA7JnUwWNWdH3-htRR_bToqHIHg',user_agent='Moderator for /r/findareddit')
  91. while True:
  92. print('Scanning subreddit...')
  93. for submission in reddit.subreddit('findareddit').new(limit=100):
  94. submissionSearch(submission)
  95. print('Finished scanning, will begin new set momentarily...')
  96. time.sleep(1800)
  97.  
  98. if __name__ == '__main__':
  99. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement