def shortcuts(request): user = request.user if request.user.is_authenticated else None if request.method == 'POST': if request.POST.get('op') == 'apply': jf = request.POST.get("filters",'{}') filters = json.loads(jf) if jf.strip() else {} model_pk = request.POST.get("model_pk") video_pks = request.POST.getlist('video_pk') target = request.POST.get('target') frames_batch_size = request.POST.get('frames_batch_size',) if not frames_batch_size: frames_batch_size = defaults.DEFAULT_FRAMES_BATCH_SIZE segments_batch_size = request.POST.get('segments_batch_size') if not segments_batch_size: segments_batch_size = defaults.DEFAULT_SEGMENTS_BATCH_SIZE process_pk = view_shared.model_apply(model_pk,video_pks,filters,target,int(segments_batch_size), int(frames_batch_size),user) return redirect('process_detail',pk=process_pk) elif request.POST.get('op') == 'create_retriever': jf = request.POST.get("source_filters",'{}') filters = json.loads(jf) if jf.strip() else {} name = request.POST.get('name') indexer_shasum = request.POST.get('indexer_shasum') approximator_shasum = request.POST.get('approximator_shasum') if approximator_shasum: approximator_shasum = None algorithm = Retriever.LOPQ else: algorithm = Retriever.EXACT _ = view_shared.create_retriever(name,algorithm,filters,indexer_shasum,approximator_shasum,user) return redirect('retriever_list') else: raise NotImplementedError(request.POST.get('op')) else: raise NotImplementedError("Only POST allowed")
def shortcuts(request): user = request.user if request.user.is_authenticated else None if request.method == 'POST': if request.POST.get('op') == 'apply': jf = request.POST.get("filters", '{}') filters = json.loads(jf) if jf.strip() else {} model_pk = request.POST.get("model_pk") video_pks = request.POST.getlist('video_pk') target = request.POST.get('target') frames_batch_size = request.POST.get('frames_batch_size', ) if not frames_batch_size: frames_batch_size = defaults.DEFAULT_FRAMES_BATCH_SIZE segments_batch_size = request.POST.get('segments_batch_size') if not segments_batch_size: segments_batch_size = defaults.DEFAULT_SEGMENTS_BATCH_SIZE process_pk = view_shared.model_apply(model_pk, video_pks, filters, target, int(segments_batch_size), int(frames_batch_size), user) return redirect('process_detail', pk=process_pk) elif request.POST.get('op') == 'create_retriever': jf = request.POST.get("source_filters", '{}') filters = json.loads(jf) if jf.strip() else {} name = request.POST.get('name') indexer_shasum = request.POST.get('indexer_shasum') approximator_shasum = request.POST.get('approximator_shasum') if approximator_shasum: approximator_shasum = None algorithm = Retriever.LOPQ else: algorithm = Retriever.EXACT _ = view_shared.create_retriever(name, algorithm, filters, indexer_shasum, approximator_shasum, user) return redirect('retriever_list') elif request.POST.get('op') == 'create_approximator_training_set': name = request.POST.get('name') video_pks = request.POST.getlist('video_pk') indexer_shasum = request.POST.get('indexer_shasum') _ = view_shared.create_approximator_training_set( name, indexer_shasum, video_pks, user) return redirect('training_set_list') elif request.POST.get('op') == 'perform_approximator_training': training_set_pk = request.POST.get('lopq_training_set_pk') dt = TrainingSet.objects.get(pk=training_set_pk) args = {} args['trainer'] = "LOPQ" args['name'] = request.POST.get('name') args['indexer_shasum'] = dt.source_filters['indexer_shasum'] args['components'] = request.POST.get('components') args['m'] = request.POST.get('m') args['v'] = request.POST.get('v') args['sub'] = request.POST.get('sub') process_pk = view_shared.perform_training(training_set_pk, args, user) return redirect('process_detail', process_pk) else: raise NotImplementedError(request.POST.get('op')) else: raise NotImplementedError("Only POST allowed")