예제 #1
0
from __future__ import division
from time import time
import pickle
import redis

import environment

REDIS_HOST = environment.get_config('REDIS_HOST')
REDIS_PORT = int(environment.get_config('REDIS_PORT'))
REDIS_PASS = environment.get_config('REDIS_PASS')


class MessageToSend():
  def __init__(self, user, message, time=time()):
    self.user = user
    self.message = message
    self.time = time

    
def _get_database():
  return redis.StrictRedis(host=REDIS_HOST, port=REDIS_PORT,
                           password=REDIS_PASS)

def get_last_handled_tweet_id():
  return _get_database().get('last_tweet_id')

def set_last_handled_tweet_id(id_number):
  _get_database().set('last_tweet_id', id_number)

def get_followers():
  return _get_database().smembers('followers')
예제 #2
0
from time import sleep
import base64
import json
import logging
import urllib
import urllib2

import environment

SUPERTWEET_USER = environment.get_config('SUPERTWEET_USER')
SUPERTWEET_PASS = environment.get_config('SUPERTWEET_PASS')

def _try_function_multiple_times(func):
  result = None
  success = False
  try_number = 0
  while (not success) and try_number < 5:
    try:
      result = func()
      success = True
    except (urllib2.URLError, urllib2.HTTPError), e:
      logging.info('Dangerous function try #%s failed. error: %s' %
                   (try_number, e))
      try_number += 1
      sleep(2**try_number/10)
  if not success:
    logging.warning('Dangerous function failed permanently')
    return False
  return result