Guest User

Untitled

a guest
Apr 14th, 2016
24
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.85 KB | None | 0 0
  1. import urllib2
  2. import json
  3. import time
  4. from email.mime.text import MIMEText
  5. import smtplib
  6.  
  7. JSONurl = 'http://reddit.com/new/.json?feed=apikey&user=username'
  8. prevIDs = []
  9.  
  10. def sendMail(subject, message):
  11.     fromaddr = 'from@gmail.com'
  12.     toaddr = 'to@gmail.com'
  13.    
  14.     username = 'from@gmail.com'  
  15.     password = 'password'
  16.    
  17.     msg = MIMEText(message)
  18.     msg['Subject'] = subject
  19.     msg['To'] = toaddr
  20.     msg['From'] = fromaddr
  21.  
  22.     session = smtplib.SMTP('smtp.gmail.com', 587)
  23.     session.ehlo()
  24.     session.starttls()
  25.     session.ehlo
  26.     session.login(username, password)
  27.    
  28.     session.sendmail(fromaddr, toaddr, msg.as_string())
  29.     session.quit()
  30.    
  31.     time.sleep(1)
  32.  
  33. first = True
  34. while True:
  35.     request = urllib2.Request(JSONurl)
  36.     request.add_header('User-Agent', 'brothers script')
  37.     opener = urllib2.build_opener()
  38.     JSONstring = opener.open(request).read()
  39.     parsed = json.loads(JSONstring)
  40.    
  41.     print 'Loaded {} posts'.format(len(parsed['data']['children']))
  42.  
  43.     try:
  44.         newcount = 0
  45.         for post in parsed['data']['children']:
  46.             postID = post['data']['id']
  47.             if first:
  48.                 prevIDs.append(postID)
  49.             elif not postID in prevIDs:
  50.                 prevIDs.append(postID)
  51.                 newcount += 1
  52.                
  53.                 subject = 'Post on {0}: {1}'.format(post['data']['subreddit'],post['data']['title'])
  54.                
  55.                 message = 'Link: {0}\nTitle: {1}'.format('http://reddit.com{}'.format(post['data']['permalink']),post['data']['title'])
  56.                
  57.                 sendMail(subject, message)
  58.                
  59.         print '{} new'.format(newcount)
  60.     except IndexError:
  61.         print 'Invalid JSON'
  62.     while len(prevIDs) > 100:
  63.         prevIDs.pop(0)
  64.        
  65.     first = False
  66.     time.sleep(5)
Add Comment
Please, Sign In to add comment