From 5eb83e2986673d05eef06c1a583529d195bd1e54 Mon Sep 17 00:00:00 2001 From: Tom Meagher Date: Wed, 30 Oct 2013 13:11:25 -0400 Subject: [PATCH] added support for multiple source accounts and updated generating from static text file --- ebooks.py | 24 +++++++++++++----------- local_settings_example.py | 10 ++++++++-- 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/ebooks.py b/ebooks.py index 9d18e25..15ec6b4 100644 --- a/ebooks.py +++ b/ebooks.py @@ -39,23 +39,25 @@ if __name__=="__main__": guess = 0 if guess == 0: - if DEBUG==True: + if STATIC_TEST==True: file = TEST_SOURCE + print ">>> Generating from {0}".format(file) string_list = open(file).readlines() for item in string_list: source_tweets = item.split(",") else: - user=SOURCE_ACCOUNT source_tweets = [] - api=connect() - max_id=None - for x in range(17)[1:]: - source_tweets_iter, max_id = grab_tweets(api,max_id) - source_tweets += source_tweets_iter - print "{0} tweets found".format(len(source_tweets)) - if len(source_tweets) == 0: - print "Error fetching tweets from Twitter. Aborting." - sys.exit() + for handle in SOURCE_ACCOUNTS: + user=handle + api=connect() + max_id=None + for x in range(17)[1:]: + source_tweets_iter, max_id = grab_tweets(api,max_id) + source_tweets += source_tweets_iter + print "{0} tweets found in {1}".format(len(source_tweets), handle) + if len(source_tweets) == 0: + print "Error fetching tweets from Twitter. Aborting." + sys.exit() mine = markov.MarkovChainer(order) for tweet in source_tweets: if re.search('([\.\!\?\"\']$)', tweet): diff --git a/local_settings_example.py b/local_settings_example.py index 9af90e3..318503d 100644 --- a/local_settings_example.py +++ b/local_settings_example.py @@ -1,11 +1,17 @@ +''' +Local Settings for a heroku_ebooks account. #fill in the name of the account you're tweeting from here. +''' + #configuration MY_CONSUMER_KEY = 'Your Twitter API Consumer Key' MY_CONSUMER_SECRET = 'Your Consumer Secret Key' MY_ACCESS_TOKEN_KEY = 'Your Twitter API Access Token Key' MY_ACCESS_TOKEN_SECRET = 'Your Access Token Secret' -SOURCE_ACCOUNT = "" #The Twitter handle of the account that you'll generate tweets based on. +SOURCE_ACCOUNTS = [""] #A list of comma-separated, quote-enclosed Twitter handles of account that you'll generate tweets based on. It should look like ["account1", "account2"]. If you want just one account, no comma needed. ODDS = 8 #How often do you want this to run? 1/8 times? ORDER = 2 #how closely do you want this to hew to sensical? 1 is low and 3 is high. DEBUG = True #Set this to False to start Tweeting live -TEST_SOURCE = "" #The name of a text file of a string-ified list for testing. To avoid unnecessarily hitting Twitter API. \ No newline at end of file +STATIC_TEST = False #Set this to True if you want to test Markov generation from a static file instead of the API. +TEST_SOURCE = ".txt" #The name of a text file of a string-ified list for testing. To avoid unnecessarily hitting Twitter API. +TWEET_ACCOUNT = "" #The name of the account you're tweeting to.