Example #1
0
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))
Example #2
0
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))
Example #3
0
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
Example #4
0
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