From 7b42606fe2c4c561c5de700d29a493da86b7c7fa Mon Sep 17 00:00:00 2001 From: Dan LaRoche Date: Thu, 7 Mar 2019 20:02:52 -0700 Subject: [PATCH] First pass, convert relativediff to +/- int for heatmap colors --- cerp/views.py | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/cerp/views.py b/cerp/views.py index b618c1f..8de09f4 100755 --- a/cerp/views.py +++ b/cerp/views.py @@ -113,6 +113,10 @@ def topic_diff(topic, precinctNum): @app.route('/api///relativeDiff') def topic_relativeDiff(topic, precinctNum): + step, diff_data = prepare_heatmap(topic, precinctNum, request) + return jsonify(result=True, step=step, data=diff_data) + +def prepare_heatmap(topic, precinctNum, request): comp1 = request.args.get('comp1', 'YES/FOR') comp2 = request.args.get('comp2', 'NO/AGAINST') @@ -127,8 +131,19 @@ def topic_relativeDiff(topic, precinctNum): lambda row: ((-1 * row[comp1]) + row[comp2])/(row[comp1] + row[comp2]), axis=1 ) - diff_data = diff_data[['diff']].copy() - return jsonify(result=True, data=json.loads(diff_data.to_json())['diff']) + diff_data = diff_data[['diff']].copy()['diff'].to_dict() + step = abs(max(max(diff_data.values()), min(diff_data.values()), key=abs)) + step = step/10 + return step, diff_data + +@app.route('/api///heatmap') +def topic_heatmap(topic, precinctNum): + step, diff_data = prepare_heatmap(topic, precinctNum, request) + + for key, value in diff_data.items(): + diff_data[key] = round(value/step) + + return jsonify(result=True, step=step, data=diff_data) @app.route('/api///meta') def topic_meta(topic, precinctNum): @@ -152,7 +167,3 @@ def topic_meta(topic, precinctNum): result=True, data=data.ELECTION_DATA[topic]['meta'] ) - -@app.route('/api///heatmap') -def topic_heatmap(topic, precinctNum): - pass