Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os
- import praw
- import sqlite3
- import config
- import time
- import urllib.request as request
- from PIL import Image
- reddit = praw.Reddit(username=config.USERNAME, password=config.PASSWORD, client_id=config.CLIENT_ID, client_secret=config.CLIENT_SECRET,user_agent=config.USER_AGENT)
- data = sqlite3.connect('pics.db')
- cur = data.cursor()
- cur.execute('CREATE TABLE IF NOT EXISTS hasRemoved(id, author, image)')
- data.commit()
- class Cancer(object):
- def __init__(self, submission, size):
- self.submission = submission
- self.size = size
- self.url = submission.url
- self.id = submission.id
- self.author = str(submission.author)
- self.query = 'SELECT * FROM hasRemoved WHERE id=?'
- self.entry = 'INSERT INTO hasRemoved VALUES(?,?,?)'
- self.outfile = ['.jpg','.png']
- self.cancer()
- def checkDatabase(self):
- cur.execute(self.query, [self.id])
- if cur.fetchone():
- return True
- else:
- return False
- def submitToDatabase(self):
- cur.execute(self.entry, [self.id, self.author, self.url])
- data.commit()
- return True
- def checkSize(self):
- try:
- if '/a/' in self.url:
- self.submission.mod.remove()
- pass
- try:
- image = request.urlretrieve(self.url, config.PATH+self.outfile[0])
- image = Image.open(config.PATH+self.outfile[0])
- image_size = image.size
- except Exception as e:
- print('Exception:',e)
- image = request.urlretrieve(self.url, config.PATH+self.outfile[0])
- image = Image.open(config.PATH+self.outfile[1])
- image_size = image.size
- print(image_size)
- if self.size[0] < image_size[0] or self.size[1] < image_size[1]:
- print(True)
- return True
- else:
- return False
- except Exception as e:
- print(e)
- #self.submission.mod.remove()
- return None
- def cancer(self):
- try:
- if self.checkDatabase() is False and self.checkSize() is True:
- self.submission.reply(config.REMOVAL_MESSAGE).mod.distinguish(sticky=True)
- self.submission.mod.remove()
- self.submitToDatabase()
- return True
- except Exception as e:
- print(e)
- self.submitToDatabase()
- def main():
- while True:
- for submission in reddit.subreddit(config.SUBREDDIT).new(limit=config.LIMIT):
- current_day = int(time.strftime('%d')); current_month = int(time.strftime('%m'))
- if int(time.strftime('%d'), time.localtime(submission.created_utc)) in range(current_day-1, current_day+1) and int(time.strftime('%m'), time.localtime(submission.created_utc)) == current_month:
- Cancer(submission, config.SIZE)
- if __name__ == '__main__':
- main()
Add Comment
Please, Sign In to add comment