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')
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