Advertisement
Guest User

Untitled

a guest
Feb 1st, 2017
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.43 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. class submissionSearch(object):
  15.  
  16.     def __init__(self, submission):
  17.         self.submission = submission
  18.         self.created = submission.created_utc
  19.         self.day_previous = time.mktime(datetime.datetime.now().timetuple()) - (24*60*60)
  20.         self.id = submission.id
  21.         self.author = submission.author
  22.         self.run()
  23.  
  24.     def check_database(self):
  25.         cur.execute('SELECT * FROM checked WHERE id=?',[self.id])
  26.         if not cur.fetchone():
  27.             return True
  28.         else:
  29.             return False
  30.  
  31.     def submit_to_database(self):
  32.         cur.execute('INSERT INTO checked VALUES(?)',[self.id])
  33.         data.commit()
  34.         print('Saved to database!')
  35.  
  36.     def check_age(self):
  37.         if int(self.created - self.day_previous) > 0:
  38.             return True
  39.         else:
  40.             return False
  41.  
  42.     def find_suggested(self):
  43.         subreddit_list = []
  44.         for comment in self.submission.comments:
  45.             try:
  46.                 subreddit_start = str(comment.body)[re.search('r/',str(comment.body)).span()[1]:]
  47.                 subreddit = subreddit_start[subreddit_start.find(' ')]
  48.                 subreddit_list.append(subreddit)
  49.             except:
  50.                 pass
  51.         return subreddit_list
  52.  
  53.     def set_flair(self):
  54.         subreddit_list = self.find_suggested()
  55.         for comment in reddit.redditor(str(self.author)).new(limit=100):
  56.             if any(subreddit.lower() in str(comment.subreddit).lower() for subreddit in subreddit_list) and int(comment.created_utc - self.created_utc) > 0:
  57.                 self.submission.mod.flair(text='Found',css_class='blank')
  58.                 print('Flaired submission by /u/{}'.format(self.author))
  59.                 self.submit_to_database()
  60.  
  61.     def run(self):
  62.         try:
  63.             if self.check_database() is True and self.check_age() is True:
  64.                 self.set_flair()
  65.             else:
  66.                 pass
  67.         except Exception as e:
  68.             time.sleep(10)
  69.             if e is KeyboardInterrupt:
  70.                 sys.exit()
  71.             else:
  72.                 print(e)
  73.  
  74. def main():
  75.     global reddit
  76.     reddit = praw.Reddit(username='RhodoMod',password='ThunderingMisusingWesterlyDescriptive@123',client_id='4QhscarQGdK50w',client_secret='wA7JnUwWNWdH3-htRR_bToqHIHg',user_agent='Moderator for /r/findareddit')
  77.     while True:
  78.         print('Scanning subreddit...')
  79.         for submission in reddit.subreddit('findareddit').new(limit=100):
  80.             submissionSearch(submission)
  81.         print('Finished scanning, will begin new set momentarily...')
  82.         time.sleep(60*5)
  83.  
  84. if __name__ == '__main__':
  85.     main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement