def badge_test(badge_name):
    people = get_random_people(250, refset_only=True)
    people.sort(key=attrgetter(badge_name), reverse=False)

    refset = [getattr(p, badge_name) for p in people]

    percentiles = [0, .25, .5, .75, .9, .99]
    indexes = [int(i * len(refset)) for i in percentiles]
    people_summaries = [(p.impactstory_url, p.full_name,
                         getattr(p, badge_name)) for p in people]
    people_at_percentiles = [people_summaries[i] for i in indexes]
    percentile_exemplars = zip(percentiles, people_at_percentiles)

    people_above_90th = people_summaries[int(0.9 * len(refset)):]

    detailed_percentiles = [x * .01 for x in range(100)]
    detailed_indexes = [int(i * len(refset)) for i in detailed_percentiles]
    detailed_percentile_values = [refset[i] for i in detailed_indexes]
    refset_response = []
    for (percent, value) in zip(detailed_percentiles,
                                detailed_percentile_values):
        refset_response += [u"{}: {:.2f}".format(int(100 * percent), value)]

    response = {
        "_badge_name": badge_name,
        "_percentile_exemplars": percentile_exemplars,
        "people_above_90th": people_above_90th,
        "refset": refset_response
    }

    return jsonify(response)
Example #2
0
def badge_test(badge_name):
    people = get_random_people(250, refset_only=True)
    people.sort(key=attrgetter(badge_name), reverse=False)

    refset = [getattr(p, badge_name) for p in people]

    percentiles = [0, .25, .5, .75, .9, .99]
    indexes = [int(i * len(refset)) for i in percentiles]
    people_summaries = [(p.impactstory_url, p.full_name, getattr(p, badge_name)) for p in people]
    people_at_percentiles = [people_summaries[i] for i in indexes]
    percentile_exemplars = zip(percentiles, people_at_percentiles)

    people_above_90th = people_summaries[int(0.9*len(refset)):]

    detailed_percentiles = [x * .01 for x in range(100)]
    detailed_indexes = [int(i * len(refset)) for i in detailed_percentiles]
    detailed_percentile_values = [refset[i] for i in detailed_indexes]
    refset_response = []
    for (percent, value) in zip(detailed_percentiles, detailed_percentile_values):
        refset_response += [u"{}: {:.2f}".format(int(100*percent), value)]

    response = {
        "_badge_name": badge_name,
        "_percentile_exemplars": percentile_exemplars,
        "people_above_90th": people_above_90th,
        "refset": refset_response
    }

    return jsonify(response)
def random_people(n):
    people = get_random_people(n)
    summary = [(p.impactstory_url, p.full_name) for p in people]
    response = {"people": summary}
    return jsonify(response)
Example #4
0
def random_people(n):
    people = get_random_people(n)
    summary = [(p.impactstory_url, p.full_name) for p in people]
    response = {"people": summary}
    return jsonify(response)