Changeset - 152c56e9733a
[Not reviewed]
default
0 2 0
Dennis Fink - 9 years ago 2016-03-14 21:57:42
dennis.fink@c3l.lu
Use tweepy
2 files changed with 23 insertions and 20 deletions:
0 comments (0 inline, 0 general)
requirements.txt
Show inline comments
 
#
 
# This file is autogenerated by pip-compile
 
# Make changes in requirements.in, then run this to update:
 
#
 
#    pip-compile requirements.in
 
#
 
dominate==2.1.16          # via flask-bootstrap
 
dominate==2.1.17          # via flask-bootstrap
 
flask-bootstrap==3.3.5.7
 
flask-httpauth==2.7.0
 
flask-httpauth==3.1.0
 
flask==0.10.1
 
itsdangerous==0.24        # via flask
 
jinja2==2.8               # via flask
 
jsonschema==2.5.1
 
markupsafe==0.23          # via jinja2
 
oauthlib==1.0.3           # via requests-oauthlib
 
python-twitter==2.2
 
requests-oauthlib==0.5.0  # via python-twitter
 
requests==2.8.1           # via python-twitter, requests-oauthlib
 
requests-oauthlib==0.6.1  # via tweepy
 
requests==2.9.1           # via requests-oauthlib, tweepy
 
six==1.10.0               # via tweepy
 
tweepy==3.5.0
 
visitor==0.1.2            # via flask-bootstrap
 
werkzeug==0.11.2          # via flask
 
werkzeug==0.11.4          # via flask
spaceapi/state.py
Show inline comments
 
import json
 

	
 
from time import time
 

	
 
from flask import Blueprint, jsonify, request, current_app, abort
 

	
 
#import twitter
 
import tweepy
 

	
 
from .utils import ActiveStatus
 
from .auth import httpauth
 

	
 
state_views = Blueprint('state', __name__)
 

	
 
ALLOWED_STATE_KEYS = frozenset(('open', 'lastchange',
 
                                'trigger_person', 'message'))
 

	
 
#twitter_api = twitter.Api()
 

	
 
def set_new_state(key, value):
 
    active = ActiveStatus()
 
    if key in ALLOWED_STATE_KEYS:
 
        active['state'][key] = value
 

	
 
        if key == 'open':
 
            active['state']['lastchange'] = int(time())
 

	
 
            # if 'twitter_consumer_key' in current_app.config:
 
            #     twitter_api.SetCredentials(
 
            #         consumer_key=current_app.config['twitter_consumer_key'],
 
            #         consumer_secret=current_app.config['twitter_consumer_secret'],
 
            #         access_token_key=current_app.config['twitter_access_token_key'],
 
            #         access_token_secret=current_app.config['twitter_access_token_secret']
 
            #     )
 
            #
 
            #     if value:
 
            #         twitter_api.PostUpdate('The space is now open!')
 
            #     else:
 
            #         twitter_api.PostUpdate('The space is now closed!')
 
            if 'twitter_consumer_key' in current_app.config:
 
                auth = tweepy.OAuthHandler(
 
                    current_app.config['twitter_consumer_key'],
 
                    current_app.config['twitter_consumer_secret']
 
                )
 
                auth.set_access_token(
 
                    current_app.config['twitter_access_token_key'],
 
                    current_app.config['twitter.access_token_secret']
 
                )
 
                api = tweepy.API(auth)
 
                
 
                if value:
 
                    api.update_status('The space is now open!')
 
                else:
 
                    api.update_status('The space is now closed!')
 

	
 
        active.save_last_state()
 
        return jsonify(active)
 
    else:
 
        return abort(400)
 

	
 

	
 
@state_views.route('/set/<key>', methods=['POST'])
 
@httpauth.login_required
 
def set_state(key):
 

	
 
    value = json.loads(request.data.decode('utf-8'))['value']
 
    current_app.logger.info(value)
 
    current_app.logger.info(type(value))
 

	
 
    return set_new_state(key, value)
0 comments (0 inline, 0 general)