Completes POCONSOLE-71 for card CSV downloads

This commit is contained in:
Patrick McDonagh
2016-11-30 12:48:06 -06:00
parent 759f478f21
commit 959b01aff5
4 changed files with 30 additions and 3 deletions

View File

@@ -176,3 +176,30 @@ def get_tags_at_time(datetime):
@app.route('/api/today_totals')
def today_totals():
return jsonify(getTotals())
@app.route('/api/csv_stroke/<int:stroke_number>')
def get_csv_for_stroke(stroke_number):
"""returns a CSV of the given stroke"""
res = Card.query.filter(Card._id == stroke_number).one()
res.surf_pos = json.loads(res.surf_pos)
res.surf_lod = json.loads(res.surf_lod)
res.down_pos = json.loads(res.down_pos)
res.down_lod = json.loads(res.down_lod)
nl = "\n"
csv_string = ""
csv_string += "Card_ID,{}".format(res._id) + nl
csv_string += "datetime,{}".format(res.created_on) + nl
csv_string += nl
csv_string += "Surface Position,Surface Load" + nl
for i in range(0, len(res.surf_pos)):
csv_string += "{},{}".format(res.surf_pos[i], res.surf_lod[i]) + nl
csv_string += nl
csv_string += "Downhole Position, Downhole Load" + nl
for i in range(0, len(res.down_pos)):
csv_string += "{},{}".format(res.down_pos[i], res.down_lod[i]) + nl
return Response(
csv_string,
mimetype="text/csv",
headers={"Content-disposition":
"attachment; filename=card_{}.csv".format(res._id)})

View File

@@ -29,7 +29,7 @@ poconsole.controller('cardListCtrl', function($scope, $routeParams, Card, Page)
for(var j = 0; j < d.cards.length; j++){
d.cards[j].created_on = Date.create(d.cards[j].created_on);
}
$scope.cards = d.cards.reverse();
$scope.cards = d.cards;
$scope.num_pages = d.num_pages;
$scope.per_page = d.per_page;
$scope.page_list = [];

View File

@@ -15,7 +15,7 @@
<div ng-if="!error">
<ul class="nav nav-tabs" role="tablist">
<li class="active"><a href="/#/card/{{_id}}/overview">Overview - Stroke {{stroke_number}}</a></li>
<li><a href="/csv_stroke/{{_id}}">CSV</a></li>
<li><a href="/api/csv_stroke/{{_id}}">CSV</a></li>
</ul>
<h5><a href="/#/cards/{{_id - 1}}" class="pull-left"><< Prev. Card</a> <a href="/#/cards/{{_id + 1}}" class="pull-right">Next Card >></a></h5>

View File

@@ -37,7 +37,7 @@
<td style="vertical-align: middle;text-align:center;"><a href="/#/cards/{{card._id}}">{{card.created_on | date: "medium"}}</a></td>
<!-- <td style="vertical-align: middle;text-align:center;">{{card.Fillage_Percent | number: 2}} %</td> -->
<td style="vertical-align: middle;text-align:center;"><h5><span class="label" ng-class="{'label-success':card.stroke_type=='Normal', 'label-primary': card.stroke_type=='Shutdown', 'label-danger': card.stroke_type=='Alarm', 'label-warning':card.stroke_type=='Low Fillage'}">{{card.stroke_type}}</span></h5></td>
<td style="vertical-align: middle;text-align:center;"><a href="/csv/{{card.id}}" class="btn btn-primary active">Download CSV</a></td>
<td style="vertical-align: middle;text-align:center;"><a href="/api/csv_stroke/{{card._id}}" class="btn btn-primary active">Download CSV</a></td>
</tr>
</tbody>