def lists(session_id=''): """ Search by list page """ try: logged_in = is_logged_in() list_r = {'lists': []} list_map = {} saved_results = [] if logged_in: unused, saved_results = _get_saved_results( {'list_id': {'$exists': True}}) username = session.get('username') delta = datetime.timedelta(minutes=15) refresh = False list_r = _list.find_one({'username': username}) if not list_r: list_r = {'username': username} refresh = True elif (list_r['dt'] + delta) < datetime.datetime.now(): refresh = True elif request.args.get('refresh'): refresh = True if refresh: api = tweepy.API(get_oauth()) lists = [] for r in api.lists_all(screen_name=username): lists.append({ 'id_str': r.id_str, 'slug': r.slug, 'name': r.name, 'full_name': r.full_name }) list_r['dt'] = datetime.datetime.now() list_r['lists'] = lists list_r['_id'] = _list.save(list_r, manipulate=True) list_map = _get_list_map() if session_id: _require_session_access(session_id) elif not logged_in: return redirect(url_for('index')) return render_template('lists.html', session_id=session_id, languages=extract.stopword_languages, saved_results=saved_results, lists=list_r['lists'], list_map=json.dumps(list_map)) except tweepy.TweepError, e: traceback.print_exc() return render_template('lists.html', session_id=session_id, languages=extract.stopword_languages, error=str(e))
def _get_list_map(): """ Return list map for username (id => full_name) """ list_r = _list.find_one({'username': session['username']}) list_map = {} if list_r: for r in list_r['lists']: list_map[r['id_str']] = r['full_name'] return list_map
def _get_list_map(): """ Return list map for logged in user (id => full_name) """ list_r = _list.find_one({'username': session['username']}) list_map = {} if list_r: for r in list_r['lists']: list_map[r['id_str']] = r['full_name'] return list_map