Example #1
0
def index(request, query_pk=None, frame_pk=None, detection_pk=None):
    if request.method == 'POST':
        form = UploadFileForm(request.POST, request.FILES)
        user = request.user if request.user.is_authenticated else None
        if form.is_valid():
            view_shared.handle_uploaded_file(request.FILES['file'], form.cleaned_data['name'], user=user)
            return redirect('video_list')
        else:
            raise ValueError
    else:
        form = UploadFileForm()
    context = {'form': form,
               'detectors': models.TrainedModel.objects.filter(model_type=models.TrainedModel.DETECTOR),
               'indexer_retrievers': []}
    for i in models.TrainedModel.objects.filter(model_type=models.TrainedModel.INDEXER):
        for r in models.Retriever.objects.all():
            if i.shasum and r.indexer_shasum == i.shasum:
                context['indexer_retrievers'].append(('{} > {} retriever {} (pk:{})'.format(i.name,
                                                                                            r.get_algorithm_display(),
                                                                                            r.name, r.pk),
                                                      '{}_{}'.format(i.pk, r.pk)))
    if query_pk:
        previous_query = models.DVAPQL.objects.get(pk=query_pk)
        context['initial_url'] = '{}queries/{}.png'.format(settings.MEDIA_URL, previous_query.uuid)
    elif frame_pk:
        frame = models.Frame.objects.get(pk=frame_pk)
        context['initial_url'] = '{}{}/frames/{}.jpg'.format(settings.MEDIA_URL, frame.video.pk, frame.frame_index)
    elif detection_pk:
        detection = models.Region.objects.get(pk=detection_pk)
        context['initial_url'] = '{}{}/frames/{}.jpg'.format(settings.MEDIA_URL, detection.video.pk,
                                                             detection.frame_index)
    context['frame_count'] = models.Frame.objects.count()
    context['query_count'] = models.DVAPQL.objects.filter(process_type=models.DVAPQL.QUERY).count()
    context['process_count'] = models.DVAPQL.objects.filter(process_type=models.DVAPQL.PROCESS).count()
    context['restart_count'] = models.TaskRestart.objects.filter().count()
    context['index_entries_count'] = models.IndexEntries.objects.count()
    context['task_events_count'] = models.TEvent.objects.count()
    context['pending_tasks'] = models.TEvent.objects.all().filter(started=False, errored=False).count()
    context['running_tasks'] = models.TEvent.objects.all().filter(started=True, completed=False, errored=False).count()
    context['successful_tasks'] = models.TEvent.objects.all().filter(started=True, completed=True).count()
    context['errored_tasks'] = models.TEvent.objects.all().filter(errored=True).count()
    context['video_count'] = models.Video.objects.count()
    context['index_entries'] = models.IndexEntries.objects.all()
    context['region_count'] = models.Region.objects.all().count()
    context['models_count'] = models.TrainedModel.objects.all().count()
    context['worker_count'] = models.Worker.objects.all().count()
    context['training_set_count'] = models.TrainingSet.objects.all().count()
    context['retriever_counts'] = models.Retriever.objects.all().count()
    context['external_server_count'] = ExternalServer.objects.all().count()
    context['script_count'] = StoredDVAPQL.objects.all().count()
    context['tube_count'] = models.Tube.objects.all().count()
    context["videos"] = models.Video.objects.all().filter()
    context["exported_video_count"] = models.Export.objects.filter(export_type=models.Export.VIDEO_EXPORT).count()
    context["exported_model_count"] = models.Export.objects.filter(export_type=models.Export.MODEL_EXPORT).count()
    context['rate'] = settings.DEFAULT_RATE
    return render(request, 'dvaui/dashboard.html', context)
Example #2
0
def index(request, query_pk=None, frame_pk=None, detection_pk=None):
    if request.method == 'POST':
        form = UploadFileForm(request.POST, request.FILES)
        user = request.user if request.user.is_authenticated else None
        if form.is_valid():
            view_shared.handle_uploaded_file(request.FILES['file'], form.cleaned_data['name'], user=user)
            return redirect('video_list')
        else:
            raise ValueError
    else:
        form = UploadFileForm()
    context = {'form': form}
    context['detectors'] = TrainedModel.objects.filter(model_type=TrainedModel.DETECTOR)
    context['indexer_retrievers'] = []
    for i in TrainedModel.objects.filter(model_type=TrainedModel.INDEXER):
        for r in Retriever.objects.all():
            if 'indexer_shasum' in r.source_filters and r.source_filters['indexer_shasum'] == i.shasum and r.last_built:
                context['indexer_retrievers'].append(('{} > {} retriever {} (pk:{})'.format(i.name,
                                                      r.get_algorithm_display(),r.name,r.pk),
                                                      '{}_{}'.format(i.pk,r.pk)))
    if query_pk:
        previous_query = DVAPQL.objects.get(pk=query_pk)
        context['initial_url'] = '{}queries/{}.png'.format(settings.MEDIA_URL, query_pk)
    elif frame_pk:
        frame = Frame.objects.get(pk=frame_pk)
        context['initial_url'] = '{}{}/frames/{}.jpg'.format(settings.MEDIA_URL, frame.video.pk, frame.frame_index)
    elif detection_pk:
        detection = Region.objects.get(pk=detection_pk)
        context['initial_url'] = '{}{}/frames/{}.jpg'.format(settings.MEDIA_URL, detection.video.pk,
                                                             detection.frame_index)
    context['frame_count'] = Frame.objects.count()
    context['query_count'] = DVAPQL.objects.filter(process_type=DVAPQL.QUERY).count()
    context['process_count'] = DVAPQL.objects.filter(process_type=DVAPQL.PROCESS).count()
    context['index_entries_count'] = IndexEntries.objects.count()
    context['task_events_count'] = TEvent.objects.count()
    context['pending_tasks'] = TEvent.objects.all().filter(started=False, errored=False).count()
    context['running_tasks'] = TEvent.objects.all().filter(started=True, completed=False, errored=False).count()
    context['successful_tasks'] = TEvent.objects.all().filter(started=True, completed=True).count()
    context['errored_tasks'] = TEvent.objects.all().filter(errored=True).count()
    context['video_count'] = Video.objects.count()
    context['index_entries'] = IndexEntries.objects.all()
    context['region_count'] = Region.objects.all().count()
    context['models_count'] = TrainedModel.objects.all().count()
    context['worker_count'] = Worker.objects.all().count()
    context['tube_count'] = Tube.objects.all().count()
    context["videos"] = Video.objects.all().filter()
    context['detector_count'] = TrainedModel.objects.filter(model_type=TrainedModel.DETECTOR).count()
    context['rate'] = defaults.DEFAULT_RATE
    return render(request, 'dashboard.html', context)