def tracks(db):
selected_filters = {}
for filt in request.query.keys():
val = request.query.get(filt)
if val == '':
# unspecified min/max numeric values, e.g.
continue
# figure out query string without this selection (for backing out in web interface)
querystring_without = '&'.join("{}={}".format(key, val) for key, val in request.query.items() if key != filt)
# store for showing in page
selected_filters[filt] = {
'val': val,
'querystring_without': querystring_without
}
track_data = _get_track_data(db, selected_filters)
# possible filter params/values for selected rows
possible_filters = _get_filters(track_data, selected_filters) if track_data else []
return template('tracks',
tracks=track_data,
filters=possible_filters,
selected=selected_filters,
query_string=request.query_string,
query=request.query
)
评论列表
文章目录