Beispiel #1
0
def home(request):
    #Les 7 lignes a venir sont un peu degueu
    homes = Edito.objects.all()
    if homes:
        edito_title = homes[0].edito_title
        edito = homes[0].edito
    else:
        edito_title = ''
        edito = ''

    groups = list(MEP.view('meps/groups', group=True))
    groups.sort(key=lambda group: group['value']['count'], reverse=True)

    countries = list(MEP.view('meps/countries', group=True))
    countries.sort(key=lambda group: group['value']['count'], reverse=True)

    votes = Vote.view('votes/all', descending=True)

    context = {
        'groups': groups,
        'countries': countries,
        'votes': votes,
        'edito_title': edito_title,
        'edito' : edito
    }
    return direct_to_template(request, 'home.html', context)
Beispiel #2
0
def index_by_country(request, country_code):
    meps_by_country = list(MEP.view("meps/by_country", key=country_code))
    country_infos = MEP.view("meps/countries", key=country_code)
    meps_by_country.sort(key=lambda mep: mep["last"])

    context = {"meps": meps_by_country, "country": list(country_infos)[0]["value"]["name"]}
    return direct_to_template(request, "index.html", context)
Beispiel #3
0
def index_by_group(request, group):
    meps_by_group = MEP.view('meps/by_group', key=group)
    group_infos = MEP.view('meps/groups', key=group)
    context = {
        'meps': meps_by_group,
        'group': list(group_infos)[0]['value']['name'],
    }
    return direct_to_template(request, 'index.html', context)
Beispiel #4
0
def index_by_group(request, group):
    meps_by_group = list(MEP.view('meps/by_group', key=group))
    group_infos = MEP.view('meps/groups', key=group)
    meps_by_group.sort(key=lambda mep: mep['last'])
    context = {
        'meps': meps_by_group,
        'group': group_infos.first()['value'],
    }
    return direct_to_template(request, 'meps/by_group.html', context)
Beispiel #5
0
def index_by_country(request, country_code):
    meps_by_country = MEP.view('meps/by_country', key=country_code)
    country_infos = MEP.view('meps/countries', key=country_code)

    context = {
        'meps': meps_by_country,
        'country': list(country_infos)[0]['value']['name'],
    }
    return direct_to_template(request, 'index.html', context)
Beispiel #6
0
def index_countries(request):
    countries = MEP.view('meps/countries')

    countries = list(MEP.view('meps/countries', group=True))
    countries.sort(key=lambda group: group['value']['count'], reverse=True)

    context = {
        'countries': countries,
    }
    return direct_to_template(request, 'index.html', context)
Beispiel #7
0
def mep_addposition(request, mep_id):
    if not request.is_ajax():
        return HttpResponseServerError()
    results = {'success':False}
    # make sure the mep exists
    mep_ = MEP.view('meps/by_id', key=mep_id).first()

    # For testing purpose: add the possibility to cause a failure in the js (if
    # in debug) to see what's would happened for the user
    try:
        text = request.GET.get(u'text', '')
        if settings.DEBUG:
            if 'slow' in text:
                time.sleep(10)
            if 'fail' in text:
                raise Exception("Simulated failure ! (input contains 'fail' and DEBUG is on)")
        pos = Position(mep_id=mep_id, content=text)
        pos.submitter_username = request.user.username
        pos.submitter_ip = request.META["REMOTE_ADDR"]
        pos.submit_datetime = datetime.today()
        pos.moderated = False
        pos.visible = False
        pos.save()
        results = {'success':True}
    except:
        pass
    return HttpResponse(simplejson.dumps(results), mimetype='application/json')
Beispiel #8
0
def mep(request, mep_id):
    mep_ = MEP.view('meps/by_id', key=mep_id).first()
    positions = Position.objects.filter(mep_id=mep_id)
    score_list = mep_.scores
    print score_list
    print "XXX"
    score_list.sort(key = lambda k : k['value'])
    print score_list
    scores = [s['value'] for s in mep_.scores]
    
    #AAAWWWFFFUUUUUULLLLLLL
    i=0
    for score in score_list:
        score_list[i] = {'label': score['label'], 'value': score['value'], 'couleur': score['value']/10}
        i+=1

    context = {
        'mep_id': mep_id,
        'mep': mep_,
        'positions': positions,
        'visible_count': len([x for x in positions if x.visible]),
        'average': sum(scores)/len(scores) if len(scores) > 0 else "",
        'score_list' : score_list,
        'color_index' : map(lambda  i : int(float(i))/10 , scores),   ## TODO color_index
        'vote_colors' : ['#ff0000', '#dd0022', '#bb0044', '#dd0022', '#bb0044', '#990066', '#770088', '#5500aa', '#3300cc', '#0000ff'],
    }
    return direct_to_template(request, 'meps/mep.html', context)
Beispiel #9
0
def index_groups(request):

    groups = list(MEP.view("meps/groups", group=True))
    groups.sort(key=lambda group: group["value"]["count"], reverse=True)

    context = {"groups": groups}
    return direct_to_template(request, "index.html", context)
Beispiel #10
0
def retrieve_meps_choices():
    """
    Dynamically retrieve MEPs ids from CouchDB to propose choices in Django.
    """
    meps = MEP.view('meps/all')
    try:
        return [(mep.id, mep.doc['infos']['name']['full']) for mep in meps]
    except ResourceNotFound:
        return []
Beispiel #11
0
def index_groups(request):

    groups = list(MEP.view('meps/groups', group=True))
    groups.sort(key=lambda group: group['value']['count'], reverse=True)

    context = {
        'groups': groups,
    }
    return direct_to_template(request, 'index.html', context)
Beispiel #12
0
def mep_raw(request, mep_id):
    mep_ = MEP.view('meps/by_id', key=mep_id).first()
    jsonstr = simplejson.dumps(dict(mep_), indent=4)
    context = {
        'mep_id': mep_id,
        'mep': mep_,
        'jsonstr': jsonstr,
    }
    return direct_to_template(request, 'meps/mep_raw.html', context)
Beispiel #13
0
def mep(request, mep_id):
    mep_ = MEP.view('meps/by_id', key=mep_id).first()
    positions = Position.objects.filter(mep_id=mep_id)
    context = {
        'mep_id': mep_id,
        'mep': mep_,
        'positions': positions,
        'visible_count': len([x for x in positions if x.visible]),
    }
    return direct_to_template(request, 'meps/mep.html', context)
Beispiel #14
0
def query(request):
    form = QueryForm(request.GET)
    if not form.is_valid():
        return render_to_response('query.html')
    key=[]
    for fltr in ['commitee_filter', 'political_filter', 'country_filter']:
        val=form.cleaned_data.get(fltr)
        if val: key.append(val)
    meps = MEP.view('meps/query', startkey=key)
    return render_to_response('query.html', { 'meps': meps})
Beispiel #15
0
def query(request):
    form = QueryForm(request.GET)
    if not form.is_valid():
        return render_to_response('query.html')
    key=[]
    #for fltr in ('commitee_filter', 'group_filter', 'country_filter'):
    #    val=form.cleaned_data.get(fltr)
    #    if val: key.append(val)
    key=[form.cleaned_data.get('country_filter') or u'DE',
         form.cleaned_data.get('group_filter') or u'PPE',
         form.cleaned_data.get('commitee_filter',None)]
    print key
    meps = MEP.view('meps/query', key=key)
    return render_to_response('query.html', { 'meps': meps})
Beispiel #16
0
def big_mess(request):
    meps = MEP.view('meps/by_name')
    #positions = Position.objects.filter(mep_id=mep_id)
    for mep_ in meps:
        import matplotlib
        matplotlib.use("Agg")
        from matplotlib import pyplot

        score_list = mep_.scores
        pyplot.plot([x['value'] for x in score_list])
        pyplot.xlabel("%s %s" % (mep_.last, mep_.first))
        pyplot.savefig(realpath("./%simg/trends/%s.png" % (settings.MEDIA_URL, mep_.id)), format="png")
        pyplot.clf()
    context = {
        'trends' : [m.id for m in meps],
    }
    return direct_to_template(request, 'trends.html', context)
Beispiel #17
0
def index_groups(request):
    groups = MEP.view('meps/groups')

    # TODO: find a way to do the reduce at the couchdb level
    from collections import defaultdict
    py_groups = defaultdict(dict)
    for group in groups:
        py_groups[group.code].setdefault('count', 0)
        py_groups[group.code]['count'] += 1
        py_groups[group.code]['code'] = group.code
        py_groups[group.code]['name'] = group.name
    groups = list(py_groups.values())
    groups.sort(key=lambda dic: dic['name'])
    # /TODO

    context = {
        'groups': groups,
    }
    return direct_to_template(request, 'index.html', context)
Beispiel #18
0
def index_countries(request):
    countries = MEP.view('meps/countries')
    
    # TODO: find a way to do the reduce at the couchdb level
    from collections import defaultdict
    py_countries = defaultdict(dict)
    for country in countries:
        py_countries[country.code].setdefault('count', 0)
        py_countries[country.code]['count'] += 1
        py_countries[country.code]['code'] = country.code
        py_countries[country.code]['name'] = country.name
    countries = list(py_countries.values())
    countries.sort(key=lambda dic: dic['name'])
    # /TODO
    
    context = {
        'countries': countries,
    }
    return direct_to_template(request, 'index.html', context)
Beispiel #19
0
def bla(request):
    meps_by_name = MEP.view('meps/by_name')
    context = {
        'meps': meps_by_name,
    }
    return direct_to_template(request, 'query.html', context)
Beispiel #20
0
def index_names(request):
    meps_by_name = MEP.view("meps/by_name")
    context = {"meps": meps_by_name}
    return direct_to_template(request, "index.html", context)
Beispiel #21
0
def index_by_group(request, group):
    meps_by_group = list(MEP.view("meps/by_group", key=group))
    group_infos = MEP.view("meps/groups", key=group)
    meps_by_group.sort(key=lambda mep: mep["last"])
    context = {"meps": meps_by_group, "group": group_infos.first()["value"]}
    return direct_to_template(request, "meps/by_group.html", context)
Beispiel #22
0
def index_names(request):
    meps_by_name = MEP.view('meps/by_name')
    context = {
        'meps': meps_by_name,
    }
    return direct_to_template(request, 'index.html', context)
Beispiel #23
0
def index_by_country(request, country_code):
    meps_by_country = MEP.view('meps/by_country', key=country_code)
    context = {
        'meps': meps_by_country,
    }
    return direct_to_template(request, 'index.html', context)
Beispiel #24
0
def index_by_group(request, group):
    meps_by_group = MEP.view('meps/by_group', key=group)
    context = {
        'meps': meps_by_group,
    }
    return direct_to_template(request, 'index.html', context)