def nodes_csv():
headers = [
'Display name',
'Host identifier',
'Enrolled On',
'Last Check-in',
'Last IP Address',
'Is Active',
]
column_names = map(itemgetter(0), current_app.config['DOORMAN_CAPTURE_NODE_INFO'])
labels = map(itemgetter(1), current_app.config['DOORMAN_CAPTURE_NODE_INFO'])
headers.extend(labels)
headers = list(map(str.title, headers))
bio = BytesIO()
writer = csv.writer(bio)
writer.writerow(headers)
for node in Node.query:
row = [
node.display_name,
node.host_identifier,
node.enrolled_on,
node.last_checkin,
node.last_ip,
node.is_active,
]
row.extend([node.node_info.get(column, '') for column in column_names])
writer.writerow(row)
bio.seek(0)
response = send_file(
bio,
mimetype='text/csv',
as_attachment=True,
attachment_filename='nodes.csv'
)
return response
评论列表
文章目录