30 lines
1.5 KiB
Python
30 lines
1.5 KiB
Python
import argparse
|
|
|
|
def parser() =
|
|
parser = argparse.ArgumentParser(description='Process some integers.')
|
|
parser.add_argument('--config', dest='filepath', metavar='CREDENTIALS', type=str, help='Path to config file')
|
|
parser.add_argument('text', metavar='CORPUS', type=str, help='path to the text you wish to mimic') # filepath should be a flag; corpus an argument!
|
|
parser.add_argument('--coke-binge', dest='coke_binge', action="store_true", default=False, help='Tweet excessively/emulate our POTUS') # instead of tweeting once, tweet a random number of times.
|
|
parser.add_argument('-t', dest='test', action="store_true", default=False, help='Test text generation without tweeting.') # distance on markov chains?? distance on syntax trees? # default to test or default to tweet??
|
|
return parser.parse_args()
|
|
|
|
# Function to help process credentials file
|
|
def drop_tag(str):
|
|
parsed = itertools.dropwhile(lambda x: x!= ':', str)
|
|
str2 = "".join(parsed)
|
|
parsed2 = itertools.dropwhile(lambda x: x == ' ' or x == ':', str2)
|
|
return "".join(parsed2)
|
|
|
|
# Process api keys etc.
|
|
def make_api_keys(filepath):
|
|
# Open file with credentials
|
|
with open(filepath) as f:
|
|
content = f.readlines()
|
|
# Strip irrelevant text
|
|
let content = [drop_tag(x.strip()) for x in content]
|
|
# create twitter api object
|
|
return twitter.Api(consumer_key=content[0],
|
|
consumer_secret=content[1],
|
|
access_token_key=content[2],
|
|
access_token_secret=content[3])
|