Issues (3)

lovihatibot.py (1 issue)

1
#!/usr/bin/env python
2
"""
3
Find examples of "I love/hate the word X" on Twitter and
4
add them to Wordnik word lists.
5
"""
6
import word_tools
7
8
# Optional, http://stackoverflow.com/a/1557906/724176
9
try:
10
    import timing
11
    assert timing  # silence warnings
12
except ImportError:
13
    pass
14
15
# Twitter: create an app at https://dev.twitter.com/apps/new
16
CONSUMER_KEY = "TODO_ENTER_YOURS_HERE"
17
CONSUMER_SECRET = "TODO_ENTER_YOURS_HERE"
18
OAUTH_TOKEN = "TODO_ENTER_YOURS_HERE"
19
OAUTH_SECRET = "TODO_ENTER_YOURS_HERE"
20
21
love_max_id, hate_max_id = 0, 0
22
STUFF = [
23
    ["I love the word", "I hate the word"],  # search term
24
    [love_max_id, hate_max_id],
25
    ["twitter-loves", "twitter-hates"]  # Wordnik word list permalink
26
    ]
27
28
# "I love the word X" or "X is my favourite new word"?
29
TARGET_WORD_FOLLOWS_SEARCH_TERM = True
30
31
# Test mode doesn't actually save csv, ini or update Wordnik or Twitter
32
TEST_MODE = False
33
34 View Code Duplication
if __name__ == '__main__':
0 ignored issues
show
This code seems to be duplicated in your project.
Loading history...
35
    parser = word_tools.do_argparse(
36
        'Find examples of "I love/hate the word X" '
37
        'on Twitter and add them to Wordnik word lists.')
38
    parser.add_argument(
39
        '-i', '--ini',
40
        default='/Users/hugo/Dropbox/bin/data/lovihatibot.ini',
41
        help='INI file location for storing last Twitter ID checked')
42
    parser.add_argument(
43
        '-c', '--csv',
44
        default='/Users/hugo/Dropbox/bin/data/lovihatibot.csv',
45
        help='CSV file location for storing matching tweets')
46
    args = parser.parse_args()
47
48
    word_tools.init_twitter(
49
        OAUTH_TOKEN, OAUTH_SECRET, CONSUMER_KEY, CONSUMER_SECRET)
50
    STUFF = word_tools.load_ini(args.ini, STUFF)  # updates STUFF[1]
51
52
    for i, search_term in enumerate(STUFF[0]):
53
        STUFF[1][i], results = word_tools.get_words_from_twitter(
54
            search_term, STUFF[1][i])
55
        words = word_tools.find_words(
56
            search_term, TARGET_WORD_FOLLOWS_SEARCH_TERM, results, args.csv)
57
58
        if not TEST_MODE:
59
            word_tools.add_to_wordnik(words, STUFF[2][i])
60
61
        tweet_prefix = STUFF[0][i].replace("I ", "Tweeters ")
62
        if "love" in STUFF[0][i]:
63
            tweet_prefix = u"\u2665 " + tweet_prefix  # heart
64
        else:
65
            tweet_prefix = u"\u2020 " + tweet_prefix  # dagger
66
67
        if args.tweet == "random":
68
            from random import choice
69
            # exclude none and random:
70
            args.tweet = choice(word_tools.TWEET_CHOICES[1:-2])
71
            print("Random tweet type:" + args.tweet)
72
73
        word_tools.tweet_those(
74
            words, tweet_prefix, args.csv, search_term, args.tweet)
75
76
        word_tools.save_ini(args.ini, STUFF)
77
78
# End of file
79