예제 #1
0
파일: tasks.py 프로젝트: pmaag/kegbot
def do_user_tweet(event, kbvars):
  """Sends a tweet using the user's account (if any)."""
  user = event.user
  if not user:
    logger.info('No user for this event, no user tweet possible: %s' % str(event))
    return

  profile = util.get_user_profile(user)
  if not profile or not profile.settings.enabled:
    logger.info('User has disabled Twitter: %s' % user)
    return

  kind = event.kind
  tweet = None
  if kind == 'drink_poured':
    if not profile.settings.post_drink_poured:
      logger.info('User has disabled drink pour tweets: %s' % event.user)
      return
    tweet = util.DEFAULT_USER_DRINK_POURED_TEMPLATE % kbvars
  elif kind == 'session_joined':
    if not profile.settings.post_session_joined:
      logger.info('User has disabled session-join tweets: %s' % event.user)
      return
    tweet = util.DEFAULT_USER_SESSION_JOINED_TEMPLATE % kbvars

  user_api = util.get_api(profile.access_token.oauth_token,
      profile.access_token.oauth_token_secret)

  if tweet:
    tweet = add_hashtag(tweet)
    logger.info('Sending user tweet: %s' % tweet)
    try:
      ret = user_api.update_status(tweet)
    except tweepy.TweepError, e:
      logger.error('Error posting tweet: %s' % str(e))
예제 #2
0
파일: tasks.py 프로젝트: pmaag/kegbot
def do_system_tweet(event, kbvars):
  """Sends a tweet using the system's account (if any)."""
  system_profile = util.get_site_profile(event.site)
  if not system_profile:
    logger.info('No system twitter profile, skipping system tweet')
    return

  user = event.user
  if user:
    user_profile = util.get_user_profile(user)
    if user_profile:
      name = '@%s' % (user_profile.settings.twitter_name,)
    elif not system_profile.settings.post_unlinked:
      logger.info('Tweets for unlinked users are disabled')
      return
    else:
      name = user.username
  elif not system_profile.settings.post_unauthenticated:
    logger.info('Tweets for anonymous pours are disabled.')
    return
  else:
    name = 'Someone'

  kbvars['name'] = name

  system_api = util.get_api(system_profile.oauth_token,
      system_profile.oauth_token_secret)

  tweet = None
  if event.kind == 'session_joined':
    tweet = util.DEFAULT_SYSTEM_SESSION_JOINED_TEMPLATE % kbvars
  elif event.kind == 'drink_poured':
    tweet = util.DEFAULT_SYSTEM_DRINK_POURED_TEMPLATE % kbvars

  if tweet:
    tweet = add_hashtag(tweet)
    logger.info('Sending system tweet: %s' % tweet)
    try:
      ret = system_api.update_status(tweet)
    except tweepy.TweepError, e:
      logger.error('Error posting tweet: %s' % str(e))
예제 #3
0
파일: tasks.py 프로젝트: swc/kegbot
def do_system_tweet(event, kbvars):
    """Sends a tweet using the system's account (if any)."""
    system_profile = util.get_site_profile(event.site)
    if not system_profile:
        logger.info('No system twitter profile, skipping system tweet')
        return

    user = event.user
    if user:
        user_profile = util.get_user_profile(user)
        if user_profile:
            name = '@%s' % (user_profile.settings.twitter_name, )
        elif not system_profile.settings.post_unlinked:
            logger.info('Tweets for unlinked users are disabled')
            return
        else:
            name = user.username
    elif not system_profile.settings.post_unauthenticated:
        logger.info('Tweets for anonymous pours are disabled.')
        return
    else:
        name = 'Someone'

    kbvars['name'] = name

    system_api = util.get_api(system_profile.oauth_token,
                              system_profile.oauth_token_secret)

    tweet = None
    if event.kind == 'session_joined':
        tweet = util.DEFAULT_SYSTEM_SESSION_JOINED_TEMPLATE % kbvars
    elif event.kind == 'drink_poured':
        tweet = util.DEFAULT_SYSTEM_DRINK_POURED_TEMPLATE % kbvars

    if tweet:
        tweet = add_hashtag(tweet)
        logger.info('Sending system tweet: %s' % tweet)
        try:
            ret = system_api.update_status(tweet)
        except tweepy.TweepError, e:
            logger.error('Error posting tweet: %s' % str(e))
예제 #4
0
파일: tasks.py 프로젝트: swc/kegbot
def do_user_tweet(event, kbvars):
    """Sends a tweet using the user's account (if any)."""
    user = event.user
    if not user:
        logger.info('No user for this event, no user tweet possible: %s' %
                    str(event))
        return

    profile = util.get_user_profile(user)
    if not profile or not profile.settings.enabled:
        logger.info('User has disabled Twitter: %s' % user)
        return

    kind = event.kind
    tweet = None
    if kind == 'drink_poured':
        if not profile.settings.post_drink_poured:
            logger.info('User has disabled drink pour tweets: %s' % event.user)
            return
        tweet = util.DEFAULT_USER_DRINK_POURED_TEMPLATE % kbvars
    elif kind == 'session_joined':
        if not profile.settings.post_session_joined:
            logger.info('User has disabled session-join tweets: %s' %
                        event.user)
            return
        tweet = util.DEFAULT_USER_SESSION_JOINED_TEMPLATE % kbvars

    user_api = util.get_api(profile.access_token.oauth_token,
                            profile.access_token.oauth_token_secret)

    if tweet:
        tweet = add_hashtag(tweet)
        logger.info('Sending user tweet: %s' % tweet)
        try:
            ret = user_api.update_status(tweet)
        except tweepy.TweepError, e:
            logger.error('Error posting tweet: %s' % str(e))