Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import argparse
- from backports.lzma import LZMAFile
- import csv
- import datetime
- import time
- import tweepy
- parser = argparse.ArgumentParser(description='Links report on twitter -- some basic metrics as to how many links I shared today')
- parser.add_argument('API_KEY', action='store', metavar='API_KEY', help='Twitter API key')
- parser.add_argument('API_SECRET', action='store', metavar='API_SECRET', help='Twitter API secret')
- parser.add_argument('ACCESS_TOKEN', action='store', metavar='ACCESS_TOKEN', help='Twitter access token')
- parser.add_argument('ACCESS_SECRET', action='store', metavar='ACCESS_SECRET', help='Twitter access secret')
- parsed = parser.parse_args()
- auth = tweepy.OAuthHandler(parsed.API_KEY, parsed.API_SECRET)
- auth.set_access_token(parsed.ACCESS_TOKEN, parsed.ACCESS_SECRET)
- api = tweepy.API(auth)
- tweets = []
- today = datetime.datetime.today() - datetime.timedelta(hours=24)
- today.replace(hour=0, minute=0, second=0, microsecond=0)
- today = today.timetuple()
- def links_today(link):
- date_of_link = time.localtime(long(link[0]))
- return today < date_of_link
- with LZMAFile('/home/ec2-user/public_html/links.csv.xz') as fin:
- reader = csv.reader(fin.readlines()[1:])
- tweets = filter(links_today, reader)
- status = 'In the last 24 hours, @hdiwan sent {0} links to {1} unique recipients.'.format(len(tweets[1]), len(set(tweets[2])))
- if len(tweets) != 0:
- api.update_status(status=status)
Advertisement
Add Comment
Please, Sign In to add comment