예제 #1
0
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))
예제 #2
0
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/')
예제 #3
0
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/')
예제 #4
0
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/')
예제 #5
0
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/')
예제 #6
0
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/')
예제 #7
0
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/')
예제 #8
0
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/')
예제 #9
0
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)
예제 #10
0
파일: overviews.py 프로젝트: vonpecka/EDNA
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)
예제 #11
0
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/')
예제 #12
0
파일: overviews.py 프로젝트: vonpecka/EDNA
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)
예제 #13
0
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/')
예제 #14
0
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/')
예제 #15
0
파일: overviews.py 프로젝트: vonpecka/EDNA
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)
예제 #16
0
파일: overviews.py 프로젝트: vonpecka/EDNA
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)
예제 #17
0
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)
예제 #18
0
파일: overviews.py 프로젝트: vonpecka/EDNA
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)
예제 #19
0
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)
예제 #20
0
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/')
예제 #21
0
파일: overviews.py 프로젝트: vonpecka/EDNA
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)
예제 #22
0
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)
예제 #23
0
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)
예제 #24
0
파일: overviews.py 프로젝트: vonpecka/EDNA
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)
예제 #25
0
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/')
예제 #26
0
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)
예제 #27
0
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)