def page_export(): """ Export measurement data in CSV format """ export_options = flaskforms.ExportOptions() relay = Relay.query.all() sensor = Sensor.query.all() relay_choices = flaskutils.choices_id_name(relay) sensor_choices = flaskutils.choices_sensors(sensor) if request.method == 'POST': start_time = export_options.date_range.data.split(' - ')[0] start_seconds = int( time.mktime(time.strptime(start_time, '%m/%d/%Y %H:%M'))) end_time = export_options.date_range.data.split(' - ')[1] end_seconds = int( time.mktime(time.strptime(end_time, '%m/%d/%Y %H:%M'))) unique_id = export_options.measurement.data.split(',')[0] measurement = export_options.measurement.data.split(',')[1] url = '/export_data/{meas}/{id}/{start}/{end}'.format( meas=measurement, id=unique_id, start=start_seconds, end=end_seconds) return redirect(url) # Generate start end end times for date/time picker end_picker = datetime.datetime.now().strftime('%m/%d/%Y %H:%M') start_picker = datetime.datetime.now() - datetime.timedelta(hours=6) start_picker = start_picker.strftime('%m/%d/%Y %H:%M') return render_template('tools/export.html', start_picker=start_picker, end_picker=end_picker, exportOptions=export_options, relay_choices=relay_choices, sensor_choices=sensor_choices)
def page_export(): """ Export measurement data in CSV format """ if not logged_in(): return redirect(url_for('general_routes.home')) export_options = flaskforms.ExportOptions() relay = db_retrieve_table( current_app.config['MYCODO_DB_PATH'], Relay, entry='all') sensor = db_retrieve_table( current_app.config['MYCODO_DB_PATH'], Sensor, entry='all') relay_choices = flaskutils.choices_id_name(relay) sensor_choices = flaskutils.choices_sensors(sensor) if request.method == 'POST': start_time = export_options.date_range.data.split(' - ')[0] start_seconds = int(time.mktime( time.strptime(start_time, '%m/%d/%Y %H:%M'))) end_time = export_options.date_range.data.split(' - ')[1] end_seconds = int(time.mktime( time.strptime(end_time, '%m/%d/%Y %H:%M'))) url = '/export_data/{meas}/{id}/{start}/{end}'.format( meas=export_options.measurement.data.split(',')[1], id=export_options.measurement.data.split(',')[0], start=start_seconds, end=end_seconds) return redirect(url) # Generate start end end times for date/time picker end_picker = datetime.datetime.now().strftime('%m/%d/%Y %H:%M') start_picker = datetime.datetime.now() - datetime.timedelta(hours=6) start_picker = start_picker.strftime('%m/%d/%Y %H:%M') return render_template('tools/export.html', start_picker=start_picker, end_picker=end_picker, exportOptions=export_options, relay_choices=relay_choices, sensor_choices=sensor_choices)