def _create_twitter_api()

in app/twitter_proxy.py [0:0]


def _create_twitter_api():
    parameter_names = [
            CONSUMER_KEY_PARAM_NAME,
            CONSUMER_SECRET_PARAM_NAME,
            ACCESS_TOKEN_PARAM_NAME,
            ACCESS_TOKEN_SECRET_PARAM_NAME
    ]
    result = SSM.get_parameters(
        Names=parameter_names,
        WithDecryption=True
    )

    if result['InvalidParameters']:
        raise RuntimeError(
            'Could not find expected SSM parameters containing Twitter API keys: {}'.format(parameter_names))

    param_lookup = {param['Name']: param['Value'] for param in result['Parameters']}
    return twitter.Api(
        consumer_key=param_lookup[CONSUMER_KEY_PARAM_NAME],
        consumer_secret=param_lookup[CONSUMER_SECRET_PARAM_NAME],
        access_token_key=param_lookup[ACCESS_TOKEN_PARAM_NAME],
        access_token_secret=param_lookup[ACCESS_TOKEN_SECRET_PARAM_NAME],
        tweet_mode='extended'
    )