Issues (3)

favibot.py (1 issue)

1
#!/usr/bin/env python
2
"""
3
Find examples of "X is my new favourite/favorite/fave" 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
favourite_max_id, favorite_max_id, fave_max_id = 0, 0, 0
22
STUFF = [
23
    # search term:
24
    ["is my new fave word", "is my new favorite word",
25
     "is my new favourite word"],
26
    [fave_max_id, favorite_max_id, favourite_max_id],
27
    # Wordnik word list permalink:
28
    ["twitter-faves", "twitter-favorites", "twitter-favourites", ]
29
    ]
30
31
# e.g. "I love the word X" (True) or "X is my favourite new word" (False)?
32
TARGET_WORD_FOLLOWS_SEARCH_TERM = False
33
34
# Test mode doesn't actually save csv, ini or update Wordnik or Twitter
35
TEST_MODE = False
36
37 View Code Duplication
if __name__ == '__main__':
0 ignored issues
show
This code seems to be duplicated in your project.
Loading history...
38
    # args = word_tools.do_argparse()
39
    parser = word_tools.do_argparse(
40
        'Find examples of "X is my new favourite/favorite/fave" on Twitter '
41
        'and add them to Wordnik word lists.')
42
    parser.add_argument(
43
        '-i', '--ini',
44
        default='/Users/hugo/Dropbox/bin/data/favibot.ini',
45
        help='INI file location for storing last Twitter ID checked')
46
    parser.add_argument(
47
        '-c', '--csv',
48
        default='/Users/hugo/Dropbox/bin/data/favibot.csv',
49
        help='CSV file location for storing matching tweets')
50
    args = parser.parse_args()
51
52
    word_tools.init_twitter(
53
        OAUTH_TOKEN, OAUTH_SECRET, CONSUMER_KEY, CONSUMER_SECRET)
54
    STUFF = word_tools.load_ini(args.ini, STUFF)  # updates STUFF[1]
55
56
    for i, search_term in enumerate(STUFF[0]):
57
        STUFF[1][i], results = word_tools.get_words_from_twitter(
58
            search_term, STUFF[1][i])
59
        words = word_tools.find_words(
60
            search_term, TARGET_WORD_FOLLOWS_SEARCH_TERM, results, args.csv)
61
62
        if not TEST_MODE:
63
            word_tools.add_to_wordnik(words, STUFF[2][i])
64
65
        tweet_prefix = STUFF[0][i].replace("is my ", "Twitter's ")
66
        tweet_prefix = u"\u2605 " + tweet_prefix  # heart
67
68
        if args.tweet == "random":
69
            from random import choice
70
            # exclude none and random:
71
            args.tweet = choice(word_tools.TWEET_CHOICES[1:-2])
72
            print("Random tweet type:" + args.tweet)
73
74
        word_tools.tweet_those(
75
            words, tweet_prefix, args.csv, search_term, args.tweet)
76
77
        word_tools.save_ini(args.ini, STUFF)
78
79
# End of file
80