def expedition(request): context = global_context(request) if (request.method == 'POST') and (request.user.has_perm('edna.add_expedition')): expedname = request.POST['name'] if expedname: meas_ids = request.POST.getlist('meas_id') newexped = md.Expedition() newexped.name = expedname newexped.remarks = request.POST['remarks'] newexped.start = datetime.datetime(2100, 12, 31) newexped.finish = datetime.datetime(1900, 1, 1) newexped.save() measures = [] for i in meas_ids: meas = md.Measurement.objects.get(id=int(i)) measures.append(meas) newexped.measurements.add(meas) if meas.start < newexped.start: newexped.start = meas.start if meas.finish > newexped.finish: newexped.finish = meas.finish newexped.save() for i in md.Visualization.objects.all(): check_visualization(measures, i) else: return HttpResponseRedirect('/overview/expedition/') else: return HttpResponseRedirect('/overview/expedition/') return HttpResponseRedirect('/detailview/expedition/' + str(newexped.pk))
def quantity(request): context = global_context(request) if request.method == 'POST': quan_ids = request.POST.getlist('quan_id') for i in quan_ids: quan = md.Quantity.objects.get(id=int(i)) quan.delete() return HttpResponseRedirect('/overview/quantity/')
def expedition(request): context = global_context(request) if request.method == 'POST': exped_ids = request.POST.getlist('exped_id') for i in exped_ids: exped = md.Expedition.objects.get(id=int(i)) exped.delete() return HttpResponseRedirect('/overview/expedition/')
def sensor(request): context = global_context(request) if request.method == 'POST': sens_ids = request.POST.getlist('sens_id') for i in sens_ids: sens = md.Sensor.objects.get(id=int(i)) sens.delete() return HttpResponseRedirect('/overview/sensor/')
def measurement(request): context = global_context(request) if request.method == 'POST': meas_ids = request.POST.getlist('meas_id') for i in meas_ids: meas = md.Measurement.objects.get(id=int(i)) os.remove(meas.record.path) meas.delete() return HttpResponseRedirect('/overview/measurement/')
def sensortype(request): context = global_context(request) if request.method == 'POST': st_ids = request.POST.getlist('st_id') for i in st_ids: st = md.SensorType.objects.get(id=int(i)) os.remove(st.sensor_scripts.path) st.delete() return HttpResponseRedirect('/overview/sensortype/')
def calibration(request): context = global_context(request) if request.method == 'POST': calib_ids = request.POST.getlist('calib_id') for i in calib_ids: calib = md.CalibrationParameters.objects.get(id=int(i)) os.remove(calib.parameters.path) calib.delete() return HttpResponseRedirect('/overview/calibration/')
def visualization(request): context = global_context(request) if request.method == 'POST': vis_ids = request.POST.getlist('vis_id') for i in vis_ids: vis = md.Visualization.objects.get(id=int(i)) os.remove(vis.visualization_scripts.path) vis.delete() return HttpResponseRedirect('/overview/visualization/')
def expedition(request, db_id): context = global_context(request) expedition = md.Expedition.objects.get(pk=db_id) context.update({'expedition': expedition}) context.update(searches.measurement(request)) measurementslist = expedition.measurements.all() context.update({'measurementslist': measurementslist}) context.update({'checkboxes': True}) return render(request, 'detailview_expedition.html', context)
def calibration(request): context = global_context(request) context.update(searches.calibration(request)) if request.user.has_perm('edna.delete_calibrationparameters'): context.update({'checkboxes': True}) if request.user.has_perm('edna.add_calibrationparameters'): calibform = fm.CalibrationParametersForm() context.update({'calibform': calibform}) return render(request, 'overview_calibration.html', context)
def sensor(request): context = global_context(request) if (request.method == 'POST') and (request.user.has_perm('edna.add_sensor')): form = fm.SensorForm(request.POST) if form.is_valid(): sensor = form.save() return HttpResponseRedirect('/detailview/sensor/' + str(sensor.pk)) else: return HttpResponseRedirect('/overview/sensor/') else: return HttpResponseRedirect('/overview/sensor/')
def quantity(request): context = global_context(request) quantitieslist = md.Quantity.objects.all().order_by('abbreviation') context.update({'quantitieslist': quantitieslist}) if request.user.has_perm('edna.add_quantity'): quantityform = fm.QuantityForm() context.update({'quantityform': quantityform}) if request.user.has_perm('edna.delete_quantity'): context.update({'checkboxes': True}) return render(request, 'overview_quantity.html', context)
def quantity(request): context = global_context(request) if (request.method == 'POST') and (request.user.has_perm('edna.add_quantity')): form = fm.QuantityForm(request.POST) if form.is_valid(): quantity = form.save() return HttpResponseRedirect('/detailview/quantity/' + str(quantity.pk)) else: return HttpResponseRedirect('/overview/quantity/') else: return HttpResponseRedirect('/overview/quantity/')
def calibration(request): context = global_context(request) if (request.method == 'POST') and ( request.user.has_perm('edna.add_calibrationparameters')): form = fm.CalibrationParametersForm(request.POST, request.FILES) if form.is_valid(): calibration = form.save() return HttpResponseRedirect('/detailview/calibration/' + str(calibration.pk)) else: return HttpResponseRedirect('/overview/calibration/') else: return HttpResponseRedirect('/overview/calibration/')
def sensortype(request): context = global_context(request) sensortypelist = md.SensorType.objects.all() context.update({'sensortypelist': sensortypelist}) if request.user.has_perm('edna.delete_sensortype'): context.update({'checkboxes': True}) if request.user.has_perm('edna.add_sensortype'): stform = fm.SensorTypeForm() context.update({'stform': stform}) return render(request, 'overview_sensortype.html', context)
def visualization(request): context = global_context(request) visualizationslist = md.Visualization.objects.all().order_by('pk') context.update({'visualizationslist': visualizationslist}) if request.user.has_perm('edna.delete_visualization'): context.update({'checkboxes': True}) if request.user.has_perm('edna.add_visualization'): visform = fm.VisualizationForm() context.update({'visform': visform}) return render(request, 'overview_visualization.html', context)
def calibration(request, db_id): context = global_context(request) calibration = md.CalibrationParameters.objects.get(pk=db_id) param = calibration.load_calibration_parameters() print param context.update({'calibration': calibration, 'param': param}) context.update(searches.measurement(request)) context['measurementslist'] = context['measurementslist'].filter( default_calibration=db_id) context['measurementslist'] = context['measurementslist'].order_by('pk') return render(request, 'detailview_calibration.html', context)
def expedition(request): context = global_context(request) context.update(searches.expedition(request)) context['expeditionslist'] = context['expeditionslist'].order_by('id') if request.user.has_perm('edna.add_expedition'): expedform = fm.ExpeditionForm() context.update({'expedform': expedform}) if request.user.has_perm('edna.delete_expedition'): context.update({'checkboxes': True}) return render(request, 'overview_expedition.html', context)
def sensor(request, db_id): context = global_context(request) sensor = md.Sensor.objects.get(pk=db_id) context.update({'sensor': sensor}) context.update(searches.calibration(request)) context['calibrationslist'] = context['calibrationslist'].order_by('pk') context['calibrationslist'] = context['calibrationslist'].filter( sensor=db_id) context.update(searches.measurement(request)) context.update({'checkboxes': False}) context['measurementslist'] = context['measurementslist'].order_by('pk') context['measurementslist'] = context['measurementslist'].filter( sensor=db_id) return render(request, 'detailview_sensor.html', context)
def visualization(request): context = global_context(request) if (request.method == 'POST') and (request.user.has_perm('edna.add_visualization')): form = fm.VisualizationForm(request.POST, request.FILES) if form.is_valid(): visualization = form.save() for i in md.Expedition.objects.all(): measures = [] for j in i.measurements.all(): measures.append(j) check_visualization(measures, visualization) return HttpResponseRedirect('/detailview/visualization/' + str(visualization.pk)) else: return HttpResponseRedirect('/overview/visualization/') else: return HttpResponseRedirect('/overview/visualization/')
def measurement(request): context = global_context(request) context.update(searches.measurement(request)) context['measurementslist'] = context['measurementslist'].order_by('id') visualizeform = fm.VisualizeForm() context.update({'visualizeform': visualizeform}) if request.user.has_perm('edna.add_measurement'): measureform = fm.MeasurementForm() context.update({'measureform': measureform}) if request.user.has_perm('edna.add_expedition'): expedform = fm.ExpeditionForm() context.update({'expedform': expedform}) return render(request, 'overview_measurement.html', context)
def sensortype(request, db_id): context = global_context(request) sensortype = md.SensorType.objects.get(pk=db_id) with open(sensortype.sensor_scripts.path) as inp: script = inp.read() context.update({'sensortype': sensortype, 'script': script}) context.update(searches.sensor(request)) context['sensorslist'] = context['sensorslist'].filter(sensor_type=db_id) context['sensorslist'] = context['sensorslist'].order_by('pk') sensor_columns = { 'show_pk': True, 'show_name': True, 'show_sensortype': False, } context.update({'sensor_columns': sensor_columns}) return render(request, 'detailview_sensortype.html', context)
def visualization(request, db_id): context = global_context(request) visualization = md.Visualization.objects.get(pk=db_id) context.update({'visualization': visualization}) with open(visualization.visualization_scripts.path) as inp: script = inp.read() context.update({'script': script}) draw = visualization.load_drawing_script() preproc = md.PreprocessedData.objects.all().filter(visualization=db_id) data = pd.DataFrame() for i in preproc: data = pd.concat([data, i.load()]) draw(data) image = file_handle.create_image() context.update({'image': image.ref_url}) return render(request, 'detailview_visualization.html', context)
def sensor(request): context = global_context(request) context.update(searches.sensor(request)) sensor_columns = { 'show_pk': True, 'show_name': True, 'show_sensortype': True, } context.update({'sensor_columns': sensor_columns}) if request.user.has_perm('edna.delete_sensor'): context.update({'checkboxes': True}) if request.user.has_perm('edna.add_sensor'): sensorform = fm.SensorForm() context.update({'sensorform': sensorform}) return render(request, 'overview_sensor.html', context)
def measurement(request): context = global_context(request) if request.user.has_perm('edna.add_maesurement'): form = fm.MeasurementForm(request.POST, request.FILES) if form.is_valid(): meas = form.save(commit=False) calibs = md.CalibrationParameters.objects.all() calibs = calibs.filter(sensor=meas.sensor) meas.default_calibration = calibs.earliest('start') meas.save() meas.load_metadata() for i in calibs: if (i.start < datetime.datetime.now()) and ( i.start > meas.default_calibration.start): meas = i meas.save() return HttpResponseRedirect('/detailview/measurement/' + str(meas.pk)) else: return HttpResponseRedirect('/overview/measurement/') else: return HttpResponseRedirect('/overview/measurement/')
def measurement(request, db_id): context = global_context(request) measurement = md.Measurement.objects.get(pk=db_id) context.update({'measurement': measurement}) return render(request, 'detailview_measurement.html', context)
def quantity(request, db_id): context = global_context(request) quantity = md.Quantity.objects.get(pk=db_id) context.update({'quantity': quantity}) return render(request, 'detailview_quantity.html', context)