Changeset - 7bd5b62747f6
[Not reviewed]
default
0 1 0
Dennis Fink - 9 years ago 2016-10-25 19:36:24
dennis.fink@c3l.lu
Added some tweets and simplified the set_state
1 file changed with 26 insertions and 23 deletions:
0 comments (0 inline, 0 general)
spaceapi/utils.py
Show inline comments
 
@@ -21,15 +21,18 @@ possible_open_tweets = (
 
    'The space is now open!',
 
    'The space is open! Come in and hack something!',
 
    'Yes, we\'re open! Come in and create something!',
 
    'Come by and hack something! We\'ve just opened!',
 
    'The ChaosStuff is now open for everyone!',
 
)
 

	
 
possible_closed_tweets = (
 
    'The space is now closed!',
 
    'We\'re closed now! See you soon.',
 
    'Sorry, we are closed now!',
 
)
 

	
 

	
 
def send_tweet(tweet):
 
def post_tweet(tweet):
 
    if 'TWITTER_CONSUMER_KEY' in current_app.config:
 
        auth = tweepy.OAuthHandler(
 
            current_app.config['TWITTER_CONSUMER_KEY'],
 
@@ -126,38 +129,38 @@ class ActiveStatus(Singleton, dict):
 
        if 'names' in self['sensors']['people_now_present'][0]:
 
            del self['sensors']['people_now_present'][0]['names']
 

	
 
    def send_tweet(self, value):
 
        tweet = random.choice(possible_open_tweets) if value else random.choice(possible_closed_tweets)
 
        try:
 
            post_tweet(tweet)
 
        except Exception as e:
 
            current_app.logger.error('Sending tweet failed! %s' % e,
 
                                     exc_info=True)
 

	
 
    def set_new_state(self, value=None, trigger_person=None, message=None):
 

	
 
        if value is not None:
 
            if value != self['state']['open']:
 
                self['state']['open'] = value
 

	
 
                tweet = random.choice(possible_open_tweets) if value else random.choice(possible_closed_tweets)
 
        if value is not None and value != self['state']['open']:
 
            self['state']['open'] = value
 

	
 
                try:
 
                    send_tweet(tweet)
 
                except Exception as e:
 
                    current_app.logger.error('Sending tweet failed! %s' % e,
 
                                             exc_info=True)
 
            self.send_tweet(value)
 

	
 
            if not value:
 
                if 'people_now_present' in self['sensors']:
 
                    self.clear_user_present()
 

	
 
                if not value:
 
                    if 'people_now_present' in self['sensors']:
 
                        self.clear_user_present()
 
                if 'message' in self['state']:
 
                    del self['state']['message']
 

	
 
                    if 'message' in self['state']:
 
                        del self['state']['message']
 
            if trigger_person is None:
 
                del self['state']['trigger_person']
 
            else:
 
                self['state']['trigger_person'] = trigger_person
 

	
 
                if trigger_person is None:
 
                    del self['state']['trigger_person']
 
                else:
 
                    self['state']['trigger_person'] = trigger_person
 
            self['state']['lastchange'] = int(time())
 

	
 
        if message is not None:
 
            self['state']['message'] = message
 

	
 
        if value is not None or message is not None:
 
            self['state']['lastchange'] = int(time())
 

	
 

	
 
def request_wants_json():
 
    best = request.accept_mimetypes.best_match(
0 comments (0 inline, 0 general)