import redis import couchdb import sys from python_code.twitter.twitter__util import getRedisIdByScreenName from python_code.twitter.twitter__util import getRedisIdByUserId SCREEN_NAME = sys.argv[1] THRESHOLD = int(sys.argv[2]) # Connect using default settings for localhost r = redis.Redis() # Compute screen_names for friends friend_ids = r.smembers(getRedisIdByScreenName(SCREEN_NAME, 'friend_ids')) friend_screen_names = [] for friend_id in friend_ids: try: friend_screen_names.append( json.loads(r.get(getRedisIdByUserId( friend_id, 'info.json')))['screen_name'].lower()) except TypeError, e: continue # not locally available in Redis - look it up or skip it # Pull the list of (entity, frequency) tuples from CouchDB server = couchdb.Server('http://localhost:5984') db = server['tweets-user-timeline-' + SCREEN_NAME] entities_freqs = sorted(
import redis import couchdb import sys from python_code.twitter.twitter__util import getRedisIdByScreenName from python_code.twitter.twitter__util import getRedisIdByUserId SCREEN_NAME = sys.argv[1] THRESHOLD = int(sys.argv[2]) # Connect using default settings for localhost r = redis.Redis() # Compute screen_names for friends friend_ids = r.smembers(getRedisIdByScreenName(SCREEN_NAME, 'friend_ids')) friend_screen_names = [] for friend_id in friend_ids: try: friend_screen_names.append(json.loads(r.get(getRedisIdByUserId(friend_id, 'info.json')))['screen_name'].lower()) except TypeError, e: continue # not locally available in Redis - look it up or skip it # Pull the list of (entity, frequency) tuples from CouchDB server = couchdb.Server('http://localhost:5984') db = server['tweets-user-timeline-' + SCREEN_NAME] entities_freqs = sorted([(row.key, row.value) for row in db.view('index/entity_count_by_doc', group=True)],
try: response = makeTwitterRequest(t, t.friends.ids, screen_name=screen_name, cursor=cursor) ids += response['ids'] cursor = response['next_cursor'] print >> sys.stderr, 'Fetched %i ids for %s' % (len(ids), screen_name) except twitter.api.TwitterHTTPError, e: if e.e.code == 404: print >> sys.stderr, "404 Error with screen_name '%s'. Continuing." % screen_name break # Store the ids into Redis [r.sadd(getRedisIdByScreenName(screen_name, 'friend_ids'), _id) for _id in ids] count += 1 print >> sys.stderr, '\t\tFetched friends for %s / %s' % (count, len(screen_names)) print >> sys.stderr, 'Done fetching friend ids...' #################################### # Resolve screen_names for user_ids #################################### while len(screen_names) > 0: (screen_names_str, screen_names) = (','.join(screen_names[:100]), screen_names[100:])