Advertisement
Guest User

Untitled

a guest
Jan 25th, 2017
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.63 KB | None | 0 0
  1. import praw
  2. import datetime
  3. import time
  4. import sqlite3
  5. from selenium import webdriver
  6. from selenium.webdriver.common.keys import Keys
  7. from selenium.webdriver.support.ui import Select
  8.  
  9.  
  10. #create the database that will store information regarding which posts have already been parsed
  11. data = sqlite3.connect('checked.db')
  12. cur = data.cursor()
  13. cur.execute('CREATE TABLE IF NOT EXISTS checked (id)')
  14. data.commit()
  15. reddit = ''
  16.  
  17. #create a class that will handle submissions on the subreddit
  18. class redditSubmission(object):
  19.  
  20.     def __init__(self, submission):
  21.         self.driver = webdriver.Chrome()
  22.         self.submission = submission
  23.         self.url = submission.url
  24.         self.author = submission.author.name
  25.         self.id = submission.id
  26.         self.run()
  27.  
  28.     def check_database(self):
  29.         cur.execute('SELECT * FROM checked WHERE id=?',[self.id])
  30.         if not cur.fetchone():
  31.             return True
  32.         else:
  33.             return False
  34.  
  35.     def submit_to_database(self):
  36.         cur.execute('INSERT INTO checked VALUES(?)',[self.id])
  37.         data.commit()
  38.  
  39.     def upload_url(self):
  40.         self.driver.get('https://streamable.com/clipper')
  41.         self.driver.find_element_by_xpath('//*[@id="root"]/div/div[2]/div[2]/div/div[1]/div/form/input').send_keys(self.url)
  42.         time.sleep(.5)
  43.         self.driver.find_element_by_xpath('//*[@id="root"]/div/div[2]/div[2]/div/div[1]/div/form/button').click()
  44.         time.sleep(.5)
  45.         self.driver.find_element_by_xpath('//*[@id="clip-controls-footer"]/button').click()
  46.         time.sleep(.5)
  47.         self.driver.find_element_by_xpath('//*[@id="video-url"]').click()
  48.         switch = self.driver.switch_to_window(self.driver.window_handles[-1])
  49.         time.sleep(.5)
  50.         url = self.driver.current_url
  51.         return url
  52.  
  53.     def response(self):
  54.         if self.check_database() is True:
  55.             print('Beginning process...')
  56.             url = self.upload_url()
  57.             disclaimer = '\n\n------------\n\n^(I am a bot created by /u/iNeverQuiteWas, and this was done automatically. If you have any questions or concerns, or would like a bot of your own, please contact him) '
  58.             self.submission.reply('[Rehosted link in case original is lost]({})'.format(url)+disclaimer)
  59.             self.submit_to_database()
  60.             print('Reply was successful to /u/{}'.format(self.author))
  61.  
  62.     def run(self):
  63.         print('Beginning moderation...')
  64.         self.response()
  65.         print('Finished moderation...')
  66.  
  67. def main():
  68.     global reddit
  69.     reddit = praw.Reddit(username='RehostBOT',password='rehost1234',client_id='ehgHk7Y_al2vNw',client_secret='hbaBYxsk3t_IlcHf2Pi5smh9XwY',user_agent='Rehosting moderator for /r/StreetFights')
  70.     while True:
  71.         for submission in reddit.subreddit('StreetFights').new(limit=100):
  72.             redditSubmission(submission)
  73.         time.sleep(100)
  74.  
  75. if __name__ == '__main__':
  76.     main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement