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