# HG changeset patch # User Dennis Fink # Date 2016-10-25 19:36:24 # Node ID 7bd5b62747f6e8410445377b74f64c477100f611 # Parent 012bc05b00e231e87f401de64a3dc12041924d53 Added some tweets and simplified the set_state diff --git a/spaceapi/utils.py b/spaceapi/utils.py --- a/spaceapi/utils.py +++ b/spaceapi/utils.py @@ -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(