def word_of_the_day(): apiUrl = 'http://api.wordnik.com/v4' apiKey = '***' client = swagger.ApiClient(apiKey, apiUrl) words_api = WordsApi.WordsApi(client) day_word = words_api.getWordOfTheDay() word_api = WordApi.WordApi(client) ''' ugly but sometimes the word of the day wont have IPA pronunciation. Probably I should figure out what type of pron it does have. ''' try: pron = word_api.getTextPronunciations(day_word.word, typeFormat='IPA') except urllib.error.HTTPError: pron = '' # word of the day .definitions returns a list with a custom object (SimpleDefinitions) inside. # index 0 gets us that object, then we use .text to get the definition text. # pron.raw gives us the pronunciation as a string in IPA format per kwarg above. Not sure what pron.raw[0] is, # but it isnt in IPA format, so I'm going to just use [1] if pron: return day_word.word, day_word.definitions[0].text, pron[ 0].raw # error is here b/c according to the try/except # block up there, pron is a string. because of # the if statement, tho, pron wont ever be a str # if we're at this point in the code. else: return day_word.word, day_word.definitions[0].text, pron
def random_words(count=10): wordsapi = WordsApi.WordsApi(client) rns = wordsapi.getRandomWords() for i in range(min(len(rns), count)): print('%d:' % (i + 1), rns[i].word) return
def get_wotd(): with open('.context', 'r') as f: gordon_context = json.loads(f.read()) apiUrl = 'http://api.wordnik.com/v4' client = swagger.ApiClient(gordon_context['wordnik_api_key'], apiUrl) wordsApi = WordsApi.WordsApi(client) wotd = wordsApi.getWordOfTheDay() return wotd
def __init__(self): self.word_api = WordApi.WordApi( swagger.ApiClient(wordnik_api_key, wordnik_api)) self.wordoftheday_api = WordsApi.WordsApi( swagger.ApiClient(wordnik_api_key, wordnik_api)) self.urbandictionary_api = urbandictionary_api self.dictionaryCache = LFUCache(maxsize=1000) self.urbandictionaryCache = LFUCache(maxsize=1000) self.wordOfTheDayCache = {} self.session = requests.Session() self.session.mount('http://', requests.adapters.HTTPAdapter(max_retries=5)) self.session.mount('https://', requests.adapters.HTTPAdapter(max_retries=5))
def __init__(self, api_url=API_URL, api_key=API_KEY, max_api_calls=10, words_per_api_call=10): super(WordnikWordSource, self).__init__() client = swagger.ApiClient(api_key, api_url) self.words_api = WordsApi.WordsApi(client) self.words_per_api_call = words_per_api_call self.max_api_calls = max_api_calls # TODO Hard coded for now, as per https://groups.google.com/d/msg/wordnik-api/pXNsaR7IMac/vvPlR36aAgAJ, # but I'd like a better way self.length = 1500000
def init_wordnik(yaml, days): global words_api, plural_nouns, pears, trees, verbs, adjectives credentials = load_yaml(yaml) wordnik_client = swagger.ApiClient(credentials["wordnik_api_key"], "http://api.wordnik.com/v4") words_api = WordsApi.WordsApi(wordnik_client) how_many = days - 12 plural_nouns = get_plural_nouns(how_many) how_many = int(days * 0.1) - 1 + 1 pears = get_pears(how_many) trees = get_trees(how_many) # Don't need as many verbs or adjectives # 9 in 10 need verbs, but 11/12 are taken care of, and one for luck how_many = int(days * 0.9) - 11 + 1 verbs = get_verbs(how_many) # 1 in 10 need adjectives, but 1/12 is taken care of, and one for luck how_many = int(days * 0.1) - 1 + 1 adjectives = get_random_words_from_wordnik("adjective", how_many)
import os from wordnik import swagger, WordApi, WordsApi import tweepy import secret TWITTER_CONSUMER_KEY = os.environ['TWITTER_CONSUMER_KEY'] TWITTER_CONSUMER_SECRET = os.environ['TWITTER_CONSUMER_SECRET'] TWITTER_ACCESS_KEY = os.environ['TWITTER_ACCESS_KEY'] TWITTER_ACCESS_SECRET = os.environ['TWITTER_ACCESS_SECRET'] auth = tweepy.OAuthHandler(TWITTER_CONSUMER_KEY, TWITTER_CONSUMER_SECRET) auth.set_access_token(TWITTER_ACCESS_KEY, TWITTER_ACCESS_SECRET) api = tweepy.API(auth, wait_on_rate_limit=True) WORDNIK_ACCESS_URL = 'https://api.wordnik.com/v4' WORDNIK_ACCESS_KEY = os.environ['WORDNIK_ACCESS_KEY'] client = swagger.ApiClient(WORDNIK_ACCESS_KEY, WORDNIK_ACCESS_URL) wordAPI = WordApi.WordApi(client) wordsAPI = WordsApi.WordsApi(client)
"--test", action="store_true", help="Test mode: go through the motions but don't tweet anything", ) args = parser.parse_args() timecheck() credentials = load_yaml(args.yaml) day = day_of_chistmas() if day > 12: wordnik_client = swagger.ApiClient(credentials["wordnik_api_key"], "http://api.wordnik.com/v4") xdaysofxmas.words_api = WordsApi.WordsApi(wordnik_client) if args.test: # Mock Wordnik def mock_get_random_words_from_wordnik(*args): return ["bleep"] xdaysofxmas.get_random_words_from_wordnik = mock_get_random_words_from_wordnik screen_name = screen_name(day) tweet = giftify(day) print(screen_name) print(tweet) update_screen_name(screen_name, credentials) tweet_it(tweet, credentials)
# -*- coding: utf-8 -*-` """game.py - Generate target word from wordnik API.""" from wordnik import swagger, WordsApi WORDNIK_API_URL = 'http://api.wordnik.com/v4' WORDNIK_KEY = 'your-wordnik-api-key' client = swagger.ApiClient(WORDNIK_KEY, WORDNIK_API_URL) wordApi = WordsApi.WordsApi(client) def get_target(length): """ Retuns the word for the game """ isValid = False # get a word from Wordnik API # avoid to return a non-valid word (with non alpha characters) while not isValid: word = wordApi.getRandomWord(hasDictionaryDef=True, includePartOfSpeech='noun', minCorpusCount=0, maxCorpusCount=-1, minDictionaryCount=1, maxDictionaryCount=-1, minLength=length, maxLength=length) isValid = word.word.isalpha() print '-------------------------' print word.word.lower() print '-------------------------' return word.word.lower()
clarifai_app = clarifai.rest.ClarifaiApp( app_id=credentials.clarifai_api_id, app_secret=credentials.clarifai_api_secret) clarifai_general_model = clarifai_app.models.get("general-v1.3") clarifai_nsfw_model = clarifai_app.models.get("nsfw-v1.0") inflect_engine = inflect.engine() owm_client = pyowm.OWM(credentials.owm_api_key) twitter_auth = tweepy.OAuthHandler(credentials.twitter_consumer_key, credentials.twitter_consumer_secret) twitter_auth.set_access_token(credentials.twitter_access_token, credentials.twitter_access_token_secret) twitter_api = tweepy.API(twitter_auth) wordnik_client = swagger.ApiClient(credentials.wordnik_apikey, "http://api.wordnik.com/v4") wordnik_word_api = WordApi.WordApi(wordnik_client) wordnik_words_api = WordsApi.WordsApi(wordnik_client) wolfram_alpha_client = wolframalpha.Client(credentials.wolframalpha_appid) application_info = None harmonbot_listener = None # TODO: Include owner variable for user object? sys.setrecursionlimit(5000) try: imgur_client = imgurpython.ImgurClient(credentials.imgur_client_id, credentials.imgur_client_secret) except imgurpython.helpers.error.ImgurClientError as e: print("Discord Harmonbot: Failed to load Imgur Client: {}".format(e)) aiml_predicates = { "name": "Harmonbot", "botmaster": "owner",
def get_word_of_the_day(): wordsapi = WordsApi.WordsApi(client) ret = wordsapi.getWordOfTheDay() out = 'Word of the day: ' + ret.word return out