Beispiel #1
0
    def handle_event(self, event):
        self.logger.info('Handling new event: %s' % event.id)
        user = event.user

        if event.kind != event.DRINK_POURED:
            self.logger.info('Ignoring event: not %s.' % event.DRINK_POURED)
            return

        if user.is_guest():
            self.logger.info('Ignoring event: guest.')
            return

        if util.is_stale(event.time):
            self.logger.info('Ignoring event: stale.')
            return

        token = self.get_user_token(user)
        if not token:
            self.logger.info('Ignoring event: no token for user %s.' %
                             user.username)
            return

        settings = self.get_user_settings(user)
        if not settings or not settings.get('enable_checkins'):
            self.logger.info('Ignoring event: not enabled.')
            return

        venue_id = self.get_venue_id()
        if not venue_id:
            self.logger.info('Ignoring event: no venue id.')
            return

        with SuppressTaskErrors(self.logger):
            tasks.foursquare_checkin.delay(token, venue_id)
Beispiel #2
0
    def handle_new_event(self, event):
        self.logger.info('Handling new event: %s' % event.id)
        user = event.user

        if event.kind != 'drink_poured':
            self.logger.info('Ignoring event: not session_joined.')
            return

        if not user:
            self.logger.info('Ignoring event: anonymous.')
            return

        if util.is_stale(event.time):
            self.logger.info('Ignoring event: stale.')
            return

        token = self.get_user_token(user)
        if not token:
            self.logger.info('Ignoring event: no token for user %s.' %
                             user.username)
            return

        settings = self.get_user_settings(user)
        if not settings or not settings.get('enable_checkins'):
            self.logger.info('Ignoring event: not enabled.')
            return

        venue_id = self.get_site_settings().get('venue_id')
        if not venue_id:
            self.logger.info('Ignoring event: no venue id.')
            return

        tasks.checkin.delay(token, venue_id)
Beispiel #3
0
    def handle_new_event(self, event):
        self.logger.info('Handling new event: %s' % event.id)
        user = event.user

        if event.kind != 'drink_poured':
            self.logger.info('Ignoring event: not session_joined.')
            return

        if not user:
            self.logger.info('Ignoring event: anonymous.')
            return

        if util.is_stale(event.time):
            self.logger.info('Ignoring event: stale.')
            return

        token = self.get_user_token(user)
        if not token:
            self.logger.info('Ignoring event: no token for user %s.' % user.username)
            return

        settings = self.get_user_settings(user)
        if not settings or not settings.get('enable_checkins'):
            self.logger.info('Ignoring event: not enabled.')
            return

        venue_id = self.get_site_settings().get('venue_id')
        if not venue_id:
            self.logger.info('Ignoring event: no venue id.')
            return

        tasks.checkin.delay(token, venue_id)
Beispiel #4
0
    def handle_new_events(self, events):
        for event in events:
            self.logger.info('Handling new event: %s' % event.id)
            user = event.user

            if event.kind != event.DRINK_POURED:
                self.logger.info('Ignoring event: not %s.' % event.DRINK_POURED)
                return

            if user.is_guest():
                self.logger.info('Ignoring event: guest.')
                return

            if util.is_stale(event.time):
                self.logger.info('Ignoring event: stale.')
                return

            token = self.get_user_token(user)
            if not token:
                self.logger.info('Ignoring event: no token for user %s.' % user.username)
                return

            settings = self.get_user_settings(user)
            if not settings or not settings.get('enable_checkins'):
                self.logger.info('Ignoring event: not enabled.')
                return

            venue_id = self.get_venue_id()
            if not venue_id:
                self.logger.info('Ignoring event: no venue id.')
                return

            with SuppressTaskErrors(self.logger):
                tasks.foursquare_checkin.delay(token, venue_id)
Beispiel #5
0
    def handle_new_events(self, events):
        for event in events:
            self.logger.info('Handling new event: %s' % event.id)
            user = event.user

            if event.kind != event.DRINK_POURED:
                self.logger.info('Ignoring event: %s' % event.kind)
                return

            if user.is_guest():
                self.logger.info('Ignoring event: anonymous.')
                return

            if util.is_stale(event.time):
                self.logger.info('Ignoring event: stale.')
                return

            token = self.get_user_token(user)
            if not token:
                self.logger.info('Ignoring event: no token for user %s.' % user.username)
                return

            settings = self.get_user_settings(user)
            if not settings or not settings.get('enable_checkins'):
                self.logger.info('Ignoring event: not enabled.')
                return

            beer_id = event.drink.keg.type.untappd_beer_id
            if not beer_id:
                self.logger.info('Ignoring event: no untappd beer id.')
                return

            shout = None
            if event.drink.shout:
                shout = event.drink.shout

            foursquare_venue_id = foursquare_client_id = foursquare_client_secret = None
            foursquare = plugin_util.get_plugins().get('foursquare')
            if foursquare:
                foursquare_client_id, foursquare_client_secret = foursquare.get_credentials()
                foursquare_venue_id = foursquare.get_venue_id()
                if foursquare_venue_id:
                    self.logger.info('Adding location info, foursquare venue id: {}'.format(foursquare_venue_id))
                else:
                    self.logger.info('No Foursquare venue id, not adding location info.')
            else:
                self.logger.info('Foursquare not available, not adding location info.')

            timezone_name = timezone.get_current_timezone_name()

            with SuppressTaskErrors(self.logger):
                tasks.untappd_checkin.delay(token, beer_id, timezone_name, shout=shout,
                    foursquare_client_id=foursquare_client_id,
                    foursquare_client_secret=foursquare_client_secret,
                    foursquare_venue_id=foursquare_venue_id)
Beispiel #6
0
    def handle_new_event(self, event):
        self.logger.info('Handling new event: %s' % event.id)
        if util.is_stale(event.time):
            self.logger.info('Event is stale, ignoring: %s' % event.id)
            return

        profile = self.get_site_profile()
        if not profile:
            self.logger.info('No site twitter profile, ignoring.')
            return

        site_settings = self.get_saved_form_data(forms.SiteSettingsForm(), 'site_settings')

        self._issue_system_tweet(event, site_settings, profile)
        if event.user:
            self._issue_user_tweet(event, site_settings)
Beispiel #7
0
    def handle_event(self, event):
        self.logger.info('Handling new event: %s' % event.id)
        if util.is_stale(event.time):
            self.logger.info('Event is stale, ignoring: %s' % event.id)
            return

        profile = self.get_site_profile()
        if not profile:
            self.logger.info('No site twitter profile, ignoring.')
            return

        site_settings = self.get_site_twitter_settings_form().initial

        self._issue_system_tweet(event, site_settings, profile)
        if event.user and not event.user.is_guest():
            self._issue_user_tweet(event, site_settings)
Beispiel #8
0
    def handle_event(self, event):
        self.logger.info('Handling new event: %s' % event.id)
        if util.is_stale(event.time):
            self.logger.info('Event is stale, ignoring: %s' % event.id)
            return

        profile = self.get_site_profile()
        if not profile:
            self.logger.info('No site twitter profile, ignoring.')
            return

        site_settings = self.get_site_twitter_settings_form().initial

        self._issue_system_tweet(event, site_settings, profile)
        if event.user and not event.user.is_guest():
            self._issue_user_tweet(event, site_settings)
Beispiel #9
0
    def handle_new_event(self, event):
        self.logger.info('Handling new event: %s' % event.id)
        if util.is_stale(event.time):
            self.logger.info('Event is stale, ignoring: %s' % event.id)
            return

        profile = self.get_site_profile()
        if not profile:
            self.logger.info('No site twitter profile, ignoring.')
            return

        site_settings = self.get_saved_form_data(forms.SiteSettingsForm(),
                                                 'site_settings')

        self._issue_system_tweet(event, site_settings, profile)
        if event.user:
            self._issue_user_tweet(event, site_settings)
Beispiel #10
0
    def handle_new_event(self, event):
        self.logger.info('Handling new event: %s' % event.id)
        user = event.user

        if event.kind != 'session_joined':
            self.logger.info('Ignoring event: not session_joined.')
            return

        if not user:
            self.logger.info('Ignoring event: anonymous.')
            return

        if util.is_stale(event.time):
            self.logger.info('Ignoring event: stale.')
            return

        token = self.get_user_token(user)
        if not token:
            self.logger.info('Ignoring event: no token for user %s.' %
                             user.username)
            return

        settings = self.get_user_settings(user)
        if not settings or not settings.get('enable_checkins'):
            self.logger.info('Ignoring event: not enabled.')
            return

        beer_id = event.drink.keg.type.untappd_beer_id
        if not beer_id:
            self.logger.info('Ignoring event: no untappd beer id.')
            return

        shout = None
        if event.drink.shout:
            shout = event.drink.shout

        from pykeg.core import models
        timezone_name = models.SiteSettings.get().timezone
        tasks.checkin.delay(token, beer_id, timezone_name, shout=shout)
Beispiel #11
0
    def handle_new_event(self, event):
        self.logger.info('Handling new event: %s' % event.id)
        user = event.user

        if event.kind != 'session_joined':
            self.logger.info('Ignoring event: not session_joined.')
            return

        if not user:
            self.logger.info('Ignoring event: anonymous.')
            return

        if util.is_stale(event.time):
            self.logger.info('Ignoring event: stale.')
            return

        token = self.get_user_token(user)
        if not token:
            self.logger.info('Ignoring event: no token for user %s.' % user.username)
            return

        settings = self.get_user_settings(user)
        if not settings or not settings.get('enable_checkins'):
            self.logger.info('Ignoring event: not enabled.')
            return

        beer_id = event.drink.keg.type.untappd_beer_id
        if not beer_id:
            self.logger.info('Ignoring event: no untappd beer id.')
            return

        shout = None
        if event.drink.shout:
            shout = event.drink.shout

        from pykeg.core import models
        timezone_name = models.SiteSettings.get().timezone
        tasks.checkin.delay(token, beer_id, timezone_name, shout=shout)
Beispiel #12
0
    def handle_event(self, event):
        self.logger.info('Handling new event: %s' % event)
        user = event.user

        if event.kind != event.DRINK_POURED:
            self.logger.info('Ignoring event: %s' % event.kind)
            return

        if user.is_guest():
            self.logger.info('Ignoring event: anonymous.')
            return

        if plugin_util.is_stale(event.time):
            self.logger.info('Ignoring event: stale.')
            return

        token = self.get_user_token(user)
        if not token:
            self.logger.info('Ignoring event: no token for user %s.' %
                             user.username)
            return

        settings = self.get_user_settings(user)
        if not settings or not settings.get('enable_checkins'):
            self.logger.info('Ignoring event: not enabled.')
            return

        beer_id = event.drink.keg.type.untappd_beer_id
        if not beer_id:
            self.logger.info('Ignoring event: no untappd beer id.')
            return

        shout = None
        if event.drink.shout:
            shout = event.drink.shout

        foursquare_venue_id = foursquare_client_id = foursquare_client_secret = None
        foursquare = self.plugin_registry.get('foursquare')
        if foursquare:
            foursquare_client_id, foursquare_client_secret = foursquare.get_credentials(
            )
            foursquare_venue_id = foursquare.get_venue_id()
            if foursquare_venue_id:
                self.logger.info(
                    'Adding location info, foursquare venue id: {}'.format(
                        foursquare_venue_id))
            else:
                self.logger.info(
                    'No Foursquare venue id, not adding location info.')
        else:
            self.logger.info(
                'Foursquare not available, not adding location info.')

        timezone_name = timezone.get_current_timezone_name()

        with SuppressTaskErrors(self.logger):
            tasks.untappd_checkin.delay(
                token,
                beer_id,
                timezone_name,
                shout=shout,
                foursquare_client_id=foursquare_client_id,
                foursquare_client_secret=foursquare_client_secret,
                foursquare_venue_id=foursquare_venue_id)