예제 #1
0
def import_frame(f, video_obj):
    df = Frame()
    df.video = video_obj
    df.name = f['name']
    df.frame_index = f['frame_index']
    df.subdir = f['subdir']
    df.save()
    return df
예제 #2
0
def import_frame(f, video_obj, detection_to_pk, vdn_dataset=None):
    df = Frame()
    df.video = video_obj
    df.name = f['name']
    df.frame_index = f['frame_index']
    df.subdir = f['subdir']
    df.save()
    for d in f['detection_list']:
        dd = import_detection(d, video_obj, df, vdn_dataset)
        detection_to_pk[d['id']] = dd.pk
    for a in f['annotation_list']:
        da = import_annotation(a, video_obj, df, vdn_dataset)
    return df
예제 #3
0
def add(request):
    if request.method == 'GET':
        return render_to_response("add_frame.html", {}, context_instance=RequestContext(request))
    elif request.method == 'POST':
        movie, created = TMDBMovie.objects.get_or_create(tmdb_id=request.POST['movie_id'],
            tmdb_name=request.POST['movie_name'])

        file = request.FILES['file']
        frame = Frame()
        frame.file = file
        frame.movie = movie
        frame.owner = request.user.userprofile
        frame.save()
        return render_to_response("add_frame.html", {'result': u'Файл был успешно загружен'},
            context_instance=RequestContext(request))
예제 #4
0
    def post(self):
        """
        Save a frame
        """
        json_data, error = get_data(request)
        if not error:
            device_data, error = validate_json_payload(json_data, self.fields)
            if not error:
                error = self.validate_jetson_data(
                    device_data,
                    data_dict={
                        'alert_id': device_data['alert_id'],
                        'date_': device_data['frame_timestamp']
                    })
                if not error:

                    try:
                        frame_data = self.frame_schema.load({
                            'alert_id':
                            device_data['alert_id'],
                            'frame_timestamp':
                            device_data['frame_timestamp'],
                            'frame_index':
                            device_data.get('frame_index', 0)
                        })
                    except marshmallow.exceptions.ValidationError as errors:
                        return response(400, str(errors))

                    frame = Frame(**frame_data,
                                  frame_image=bytes(device_data['frame'],
                                                    'utf-8'))
                    error = frame.save()
                    if not error:
                        return response(200, data={'frame_id': frame.id})
        return error