104 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			104 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env python3
 | |
| # -*- coding: utf-8 -*-
 | |
| # @Author: KevinMidboe
 | |
| # @Date:   2017-03-04 14:06:53
 | |
| # @Last Modified by:   KevinMidboe
 | |
| # @Last Modified time: 2017-03-05 11:48:47
 | |
| 
 | |
| import tweepy, sqlite3
 | |
| from pasteee import Paste
 | |
| from pprint import pprint
 | |
| 
 | |
| dbPath = "shows.db"
 | |
| 
 | |
| consumer_key, consumer_secret = 'yvVTrxNtVsLkoHxKWxh4xvgjg', '39OW6Q8fIKDXvTPPCaEJDULcYaHC5XZ3fe7HHCGtdepBKui2jK'
 | |
| access_token, access_token_secret = '3214835117-OXVVLYeqUScRAPMqfVw5hS8NI63zPnWOVK63C5I', 'ClcGnF8vW6DbvgRgjwU6YjDc9f2oxMzOvUAN8kzpsmbcL'
 | |
| 
 | |
| auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
 | |
| auth.set_access_token(access_token, access_token_secret)
 | |
| api = tweepy.API(auth)
 | |
| apiUser = api.me()
 | |
| apiUsername, apiUserID = apiUser.screen_name, apiUser.id_str
 | |
| 
 | |
| 
 | |
| def tweetNewEpisode(episode):
 | |
| 	createPasteee()
 | |
| 
 | |
| def unpackEpisode(episode):
 | |
| 	episodeDict = dict.fromkeys(['original', 'full_path', 'name', 'season', 'episode',\
 | |
| 		'media_items', 'subtitles', 'trash', 'tweet_id', 'verified'])
 | |
| 	
 | |
| 	for i, key in enumerate(episodeDict.keys()):
 | |
| 		episodeDict[key] = episode[i]
 | |
| 
 | |
| 	return episodeDict
 | |
| 
 | |
| def 
 | |
| 
 | |
| def updateTweetID(episodeDict, id):
 | |
| 	conn = sqlite3.connect(dbPath)
 | |
| 	c = conn.cursor()
 | |
| 
 | |
| 	c.execute('UPDATE stray_episodes SET tweet_id = ' + id + ' WHERE original is ' + episodeDict['original'])
 | |
| 
 | |
| 	conn.commit()
 | |
| 	conn.close()
 | |
| 
 | |
| def getUntweetedEpisodes():
 | |
| 	conn = sqlite3.connect(dbPath)
 | |
| 	c = conn.cursor()
 | |
| 
 | |
| 	c.execute('SELECT * FROM stray_episodes WHERE tweet_id is NULL')
 | |
| 
 | |
| 	for episode in c.fetchall():
 | |
| 		tweetNewEpisode(episode)
 | |
| 
 | |
| 	conn.close()
 | |
| 	exit(0)
 | |
| 	return episode
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| def lastTweet(user, count=1):
 | |
| 	return api.user_timeline(screen_name=user,count=count)
 | |
| 
 | |
| def checkReply():
 | |
| 	originalTweet = lastTweet('pi_midboe')[0]
 | |
| 	originalID, lastText = originalTweet.id_str, originalTweet.text
 | |
| 
 | |
| 	tweets = lastTweet('KevinMidboe', 10)
 | |
| 	
 | |
| 	for tweet in tweets:
 | |
| 		tweetID = tweet.in_reply_to_status_id_str
 | |
| 		if tweetID == originalID:
 | |
| 			print(tweet.text)
 | |
| 
 | |
| def unpackEpisodes():
 | |
| 	conn = sqlite3.connect(dbPath)
 | |
| 	c = conn.cursor()
 | |
| 
 | |
| 	c.execute('SELECT * FROM stray_episodes WHERE tweet_id IS NULL and verified IS 0')
 | |
| 
 | |
| 	content = c.fetchall()
 | |
| 	conn.close()
 | |
| 	return content
 | |
| 
 | |
| 
 | |
| def tweet(tweetString):
 | |
| 	if not lastTweet('pi_midboe')[0].text.startswith(tweetString):
 | |
| 		paste = Paste(unpackEpisodes(), private=False, desc="My first paste", views=2)
 | |
| 		tweetString += paste['raw']
 | |
| 		response = api.update_status(status=tweetString)
 | |
| 		print('\n', response.id_str)
 | |
| 
 | |
| def main():
 | |
| 	episode = getUntweetedEpisodes()
 | |
| 	print(episode)
 | |
| 	tweet('@KevinMidboe\nAdded episode: \nNew Girl S06E16\n\nDetails: ')
 | |
| 	# unpackEpisodes()
 | |
| 	checkReply()
 | |
| 
 | |
| 
 | |
| if __name__ == '__main__':
 | |
| 	main() |