@@ -28,7 +28,7 from apps.cgs.forms import CGSConfigurationForm | |||||
28 | from apps.abs.forms import ABSConfigurationForm |
|
28 | from apps.abs.forms import ABSConfigurationForm | |
29 | from apps.usrp.forms import USRPConfigurationForm |
|
29 | from apps.usrp.forms import USRPConfigurationForm | |
30 |
|
30 | |||
31 | from .models import Campaign, Experiment, Device, Configuration, Location, RunningExperiment |
|
31 | from .models import Campaign, Experiment, Device, Configuration, Location, RunningExperiment, DEV_STATES | |
32 | from apps.cgs.models import CGSConfiguration |
|
32 | from apps.cgs.models import CGSConfiguration | |
33 | from apps.jars.models import JARSConfiguration, EXPERIMENT_TYPE |
|
33 | from apps.jars.models import JARSConfiguration, EXPERIMENT_TYPE | |
34 | from apps.usrp.models import USRPConfiguration |
|
34 | from apps.usrp.models import USRPConfiguration | |
@@ -543,7 +543,7 def experiments(request): | |||||
543 | def experiment(request, id_exp): |
|
543 | def experiment(request, id_exp): | |
544 |
|
544 | |||
545 | experiment = get_object_or_404(Experiment, pk=id_exp) |
|
545 | experiment = get_object_or_404(Experiment, pk=id_exp) | |
546 | experiment.get_status() |
|
546 | #experiment.get_status() | |
547 | configurations = Configuration.objects.filter(experiment=experiment, type=0) |
|
547 | configurations = Configuration.objects.filter(experiment=experiment, type=0) | |
548 |
|
548 | |||
549 | kwargs = {} |
|
549 | kwargs = {} | |
@@ -719,18 +719,21 def experiment_start(request, id_exp): | |||||
719 |
|
719 | |||
720 | exp = get_object_or_404(Experiment, pk=id_exp) |
|
720 | exp = get_object_or_404(Experiment, pk=id_exp) | |
721 |
|
721 | |||
722 | if exp.status == 2: |
|
722 | confs = Configuration.objects.filter(experiment=exp, type=0) | |
723 | messages.warning(request, 'Experiment {} already running'.format(exp)) |
|
723 | if not confs: | |
|
724 | messages.error(request, 'Experiment not running. No Device Configurations detected.') | |||
|
725 | return redirect(exp.get_absolute_url()) | |||
724 |
|
726 | |||
725 | elif exp.status == 3: |
|
727 | for conf in confs: | |
726 | messages.warning(request, 'Experiment {} already programmed'.format(exp)) |
|
728 | conf.status_device() | |
|
729 | if conf.device.status != 2: | |||
|
730 | messages.error(request, 'Experiment not running. Configuration {} state: '.format(conf) + DEV_STATES[conf.device.status][1]) | |||
|
731 | return redirect(exp.get_absolute_url()) | |||
727 |
|
732 | |||
728 | if not (exp.start_time < datetime.now().time() < exp.end_time): |
|
733 | exp.get_status() | |
729 | exp.status==1 |
|
|||
730 | exp.save() |
|
|||
731 | messages.warning(request, 'Experiment {} is out of time'.format(exp)) |
|
|||
732 | return redirect(exp.get_absolute_url()) |
|
|||
733 |
|
734 | |||
|
735 | if exp.status == 2: | |||
|
736 | messages.warning(request, 'Experiment {} already running'.format(exp)) | |||
734 | else: |
|
737 | else: | |
735 | task = task_start.delay(exp.pk) |
|
738 | task = task_start.delay(exp.pk) | |
736 | exp.status = task.wait() |
|
739 | exp.status = task.wait() | |
@@ -738,8 +741,7 def experiment_start(request, id_exp): | |||||
738 | messages.error(request, 'Experiment {} not start'.format(exp)) |
|
741 | messages.error(request, 'Experiment {} not start'.format(exp)) | |
739 | if exp.status==2: |
|
742 | if exp.status==2: | |
740 | messages.success(request, 'Experiment {} started'.format(exp)) |
|
743 | messages.success(request, 'Experiment {} started'.format(exp)) | |
741 |
|
744 | exp.save() | ||
742 | exp.save() |
|
|||
743 |
|
745 | |||
744 | return redirect(exp.get_absolute_url()) |
|
746 | return redirect(exp.get_absolute_url()) | |
745 |
|
747 | |||
@@ -748,7 +750,13 def experiment_start(request, id_exp): | |||||
748 | def experiment_stop(request, id_exp): |
|
750 | def experiment_stop(request, id_exp): | |
749 |
|
751 | |||
750 | exp = get_object_or_404(Experiment, pk=id_exp) |
|
752 | exp = get_object_or_404(Experiment, pk=id_exp) | |
|
753 | confs = Configuration.objects.filter(experiment=exp, type=0) | |||
|
754 | if not confs: | |||
|
755 | messages.error(request, 'No Device Configurations detected.') | |||
|
756 | return redirect(exp.get_absolute_url()) | |||
751 |
|
757 | |||
|
758 | exp.get_status() | |||
|
759 | ||||
752 | if exp.status == 2: |
|
760 | if exp.status == 2: | |
753 | task = task_stop.delay(exp.pk) |
|
761 | task = task_stop.delay(exp.pk) | |
754 | exp.status = task.wait() |
|
762 | exp.status = task.wait() |
General Comments 0
You need to be logged in to leave comments.
Login now