diff options
Diffstat (limited to 'opendc/api/v1/simulations/simulationId/experiments')
15 files changed, 0 insertions, 425 deletions
diff --git a/opendc/api/v1/simulations/simulationId/experiments/experimentId/__init__.py b/opendc/api/v1/simulations/simulationId/experiments/experimentId/__init__.py deleted file mode 100644 index e69de29b..00000000 --- a/opendc/api/v1/simulations/simulationId/experiments/experimentId/__init__.py +++ /dev/null diff --git a/opendc/api/v1/simulations/simulationId/experiments/experimentId/endpoint.py b/opendc/api/v1/simulations/simulationId/experiments/experimentId/endpoint.py deleted file mode 100644 index 7af62b92..00000000 --- a/opendc/api/v1/simulations/simulationId/experiments/experimentId/endpoint.py +++ /dev/null @@ -1,138 +0,0 @@ -from opendc.models.experiment import Experiment -from opendc.util import database, exceptions -from opendc.util.rest import Response - -def GET(request): - """Get this Experiment.""" - - try: - request.check_required_parameters( - path = { - 'simulationId': 'int', - 'experimentId': 'int' - } - ) - - except exceptions.ParameterError as e: - return Response(400, e.message) - - # Instantiate an Experiment from the database - - experiment = Experiment.from_primary_key((request.params_path['experimentId'],)) - - # Make sure this Experiment exists - - if not experiment.exists(): - return Response(404, '{} not found.'.format(experiment)) - - # Make sure this user is authorized to view this Experiment - - if not experiment.google_id_has_at_least(request.google_id, 'VIEW'): - return Response(403, 'Forbidden from retrieving {}.'.format(experiment)) - - # Return this Experiment - - experiment.read() - - return Response( - 200, - 'Successfully retrieved {}.'.format(experiment), - experiment.to_JSON() - ) - -def PUT(request): - """Update this Experiment's Path, Trace, Scheduler, and/or name.""" - - # Make sure required parameters are there - - try: - request.check_required_parameters( - path = { - 'simulationId': 'int', - 'experimentId': 'int' - }, - body = { - 'experiment': { - 'pathId': 'int', - 'traceId': 'int', - 'schedulerName': 'string', - 'name': 'string' - } - } - ) - - except exceptions.ParameterError as e: - return Response(400, e.message) - - # Instantiate an Experiment from the database - - experiment = Experiment.from_primary_key((request.params_path['experimentId'],)) - - # Make sure this Experiment exists - - if not experiment.exists(): - return Response(404, '{} not found.'.format(experiment)) - - # Make sure this user is authorized to edit this Experiment - - if not experiment.google_id_has_at_least(request.google_id, 'EDIT'): - return Response(403, 'Forbidden from updating {}.'.format(experiment)) - - # Update this Experiment - - experiment.path_id = request.params_body['experiment']['pathId'] - experiment.trace_id = request.params_body['experiment']['traceId'] - experiment.scheduler_name = request.params_body['experiment']['schedulerName'] - experiment.name = request.params_body['experiment']['name'] - - try: - experiment.update() - - except exceptions.ForeignKeyError: - return Response(400, 'Foreign key error.') - - # Return this Experiment - - return Response( - 200, - 'Successfully updated {}.'.format(experiment), - experiment.to_JSON() - ) - -def DELETE(request): - """Delete this Experiment.""" - - # Make sure required parameters are there - - try: - request.check_required_parameters( - path = { - 'simulationId': 'int', - 'experimentId': 'int' - } - ) - - except exceptions.ParameterError as e: - return Response(400, e.message) - - # Instantiate an Experiment and make sure it exists - - experiment = Experiment.from_primary_key((request.params_path['experimentId'],)) - - if not experiment.exists(): - return Response(404, '{} not found.'.format(experiment)) - - # Make sure this user is authorized to delete this Experiment - - if not experiment.google_id_has_at_least(request.google_id, 'EDIT'): - return Response(403, 'Forbidden from deleting {}.'.format(experiment)) - - # Delete and return this Experiment - - experiment.delete() - - return Response( - 200, - 'Successfully deleted {}.'.format(experiment), - experiment.to_JSON() - ) diff --git a/opendc/api/v1/simulations/simulationId/experiments/experimentId/last-simulated-tick/__init__.py b/opendc/api/v1/simulations/simulationId/experiments/experimentId/last-simulated-tick/__init__.py deleted file mode 100644 index e69de29b..00000000 --- a/opendc/api/v1/simulations/simulationId/experiments/experimentId/last-simulated-tick/__init__.py +++ /dev/null diff --git a/opendc/api/v1/simulations/simulationId/experiments/experimentId/last-simulated-tick/endpoint.py b/opendc/api/v1/simulations/simulationId/experiments/experimentId/last-simulated-tick/endpoint.py deleted file mode 100644 index d39fafe4..00000000 --- a/opendc/api/v1/simulations/simulationId/experiments/experimentId/last-simulated-tick/endpoint.py +++ /dev/null @@ -1,39 +0,0 @@ -from opendc.models.experiment import Experiment -from opendc.util import database, exceptions -from opendc.util.rest import Response - -def GET(request): - """Get this Experiment's last simulated tick.""" - - # Make sure required parameters are there - - try: - request.check_required_parameters( - path = { - 'simulationId': 'int', - 'experimentId': 'int' - } - ) - - except exceptions.ParameterError as e: - return Response(400, e.message) - - # Instantiate an Experiment from the database - - experiment = Experiment.from_primary_key((request.params_path['experimentId'],)) - - # Make sure this Experiment exisits - - if not experiment.exists(): - return Response(404, '{} not found.'.format(experiment)) - - # Make sure this user is authorized to view this Experiment's last simulated tick - - if not experiment.google_id_has_at_least(request.google_id, 'VIEW'): - return Response(403, 'Forbidden from viewing last simulated tick for {}.'.format(experiment)) - - return Response( - 200, - 'Successfully retrieved last simulated tick for {}.'.format(experiment), - {'lastSimulatedTick': experiment.last_simulated_tick} - ) diff --git a/opendc/api/v1/simulations/simulationId/experiments/experimentId/machine-states/__init__.py b/opendc/api/v1/simulations/simulationId/experiments/experimentId/machine-states/__init__.py deleted file mode 100644 index e69de29b..00000000 --- a/opendc/api/v1/simulations/simulationId/experiments/experimentId/machine-states/__init__.py +++ /dev/null diff --git a/opendc/api/v1/simulations/simulationId/experiments/experimentId/machine-states/endpoint.py b/opendc/api/v1/simulations/simulationId/experiments/experimentId/machine-states/endpoint.py deleted file mode 100644 index c5ba0abe..00000000 --- a/opendc/api/v1/simulations/simulationId/experiments/experimentId/machine-states/endpoint.py +++ /dev/null @@ -1,51 +0,0 @@ -from opendc.models.experiment import Experiment -from opendc.models.machine_state import MachineState -from opendc.util import database, exceptions -from opendc.util.rest import Response - -def GET(request): - """Get this Experiment's Machine States.""" - - # Make sure required parameters are there - - try: - request.check_required_parameters( - path = { - 'simulationId': 'int', - 'experimentId': 'int' - } - ) - - except exceptions.ParameterError as e: - return Response(400, e.message) - - # Instantiate an Experiment from the database - - experiment = Experiment.from_primary_key((request.params_path['experimentId'],)) - - # Make sure this Experiment exisits - - if not experiment.exists(): - return Response(404, '{} not found.'.format(experiment)) - - # Make sure this user is authorized to view this Experiment's Machine States - - if not experiment.google_id_has_at_least(request.google_id, 'VIEW'): - return Response(403, 'Forbidden from viewing Machine States for {}.'.format(experiment)) - - # Get and return the Machine States - - if 'tick' in request.params_query: - machine_states = MachineState.from_experiment_id_and_tick( - request.params_path['experimentId'], - request.params_query['tick'] - ) - - else: - machine_states = MachineState.from_experiment_id(request.params_path['experimentId']) - - return Response( - 200, - 'Successfully retrieved Machine States for {}.'.format(experiment), - [x.to_JSON() for x in machine_states] - ) diff --git a/opendc/api/v1/simulations/simulationId/experiments/experimentId/rack-states/__init__.py b/opendc/api/v1/simulations/simulationId/experiments/experimentId/rack-states/__init__.py deleted file mode 100644 index e69de29b..00000000 --- a/opendc/api/v1/simulations/simulationId/experiments/experimentId/rack-states/__init__.py +++ /dev/null diff --git a/opendc/api/v1/simulations/simulationId/experiments/experimentId/rack-states/endpoint.py b/opendc/api/v1/simulations/simulationId/experiments/experimentId/rack-states/endpoint.py deleted file mode 100644 index 6e71c496..00000000 --- a/opendc/api/v1/simulations/simulationId/experiments/experimentId/rack-states/endpoint.py +++ /dev/null @@ -1,51 +0,0 @@ -from opendc.models.experiment import Experiment -from opendc.models.rack_state import RackState -from opendc.util import database, exceptions -from opendc.util.rest import Response - -def GET(request): - """Get this Experiment's Tack States.""" - - # Make sure required parameters are there - - try: - request.check_required_parameters( - path = { - 'simulationId': 'int', - 'experimentId': 'int' - } - ) - - except exceptions.ParameterError as e: - return Response(400, e.message) - - # Instantiate an Experiment from the database - - experiment = Experiment.from_primary_key((request.params_path['experimentId'],)) - - # Make sure this Experiment exisits - - if not experiment.exists(): - return Response(404, '{} not found.'.format(experiment)) - - # Make sure this user is authorized to view this Experiment's Rack States - - if not experiment.google_id_has_at_least(request.google_id, 'VIEW'): - return Response(403, 'Forbidden from viewing Rack States for {}.'.format(experiment)) - - # Get and return the Rack States - - if 'tick' in request.params_query: - rack_states = RackState.from_experiment_id_and_tick( - request.params_path['experimentId'], - request.params_query['tick'] - ) - - else: - rack_states = RackState.from_experiment_id(request.params_path['experimentId']) - - return Response( - 200, - 'Successfully retrieved Rack States for {}.'.format(experiment), - [x.to_JSON() for x in rack_states] - ) diff --git a/opendc/api/v1/simulations/simulationId/experiments/experimentId/room-states/__init__.py b/opendc/api/v1/simulations/simulationId/experiments/experimentId/room-states/__init__.py deleted file mode 100644 index e69de29b..00000000 --- a/opendc/api/v1/simulations/simulationId/experiments/experimentId/room-states/__init__.py +++ /dev/null diff --git a/opendc/api/v1/simulations/simulationId/experiments/experimentId/room-states/endpoint.py b/opendc/api/v1/simulations/simulationId/experiments/experimentId/room-states/endpoint.py deleted file mode 100644 index d8c9fb45..00000000 --- a/opendc/api/v1/simulations/simulationId/experiments/experimentId/room-states/endpoint.py +++ /dev/null @@ -1,51 +0,0 @@ -from opendc.models.experiment import Experiment -from opendc.models.room_state import RoomState -from opendc.util import database, exceptions -from opendc.util.rest import Response - -def GET(request): - """Get this Experiment's Room States.""" - - # Make sure required parameters are there - - try: - request.check_required_parameters( - path = { - 'simulationId': 'int', - 'experimentId': 'int' - } - ) - - except exceptions.ParameterError as e: - return Response(400, e.message) - - # Instantiate an Experiment from the database - - experiment = Experiment.from_primary_key((request.params_path['experimentId'],)) - - # Make sure this Experiment exisits - - if not experiment.exists(): - return Response(404, '{} not found.'.format(experiment)) - - # Make sure this user is authorized to view this Experiment's Room States - - if not experiment.google_id_has_at_least(request.google_id, 'VIEW'): - return Response(403, 'Forbidden from viewing Room States for {}.'.format(experiment)) - - # Get and return the Room States - - if 'tick' in request.params_query: - room_states = RoomState.from_experiment_id_and_tick( - request.params_path['experimentId'], - request.params_query['tick'] - ) - - else: - room_states = RoomState.from_experiment_id(request.params_path['experimentId']) - - return Response( - 200, - 'Successfully retrieved Room States for {}.'.format(experiment), - [x.to_JSON() for x in room_states] - ) diff --git a/opendc/api/v1/simulations/simulationId/experiments/experimentId/statistics/__init__.py b/opendc/api/v1/simulations/simulationId/experiments/experimentId/statistics/__init__.py deleted file mode 100644 index e69de29b..00000000 --- a/opendc/api/v1/simulations/simulationId/experiments/experimentId/statistics/__init__.py +++ /dev/null diff --git a/opendc/api/v1/simulations/simulationId/experiments/experimentId/statistics/task-durations/__init__.py b/opendc/api/v1/simulations/simulationId/experiments/experimentId/statistics/task-durations/__init__.py deleted file mode 100644 index e69de29b..00000000 --- a/opendc/api/v1/simulations/simulationId/experiments/experimentId/statistics/task-durations/__init__.py +++ /dev/null diff --git a/opendc/api/v1/simulations/simulationId/experiments/experimentId/statistics/task-durations/endpoint.py b/opendc/api/v1/simulations/simulationId/experiments/experimentId/statistics/task-durations/endpoint.py deleted file mode 100644 index 1bb60ca2..00000000 --- a/opendc/api/v1/simulations/simulationId/experiments/experimentId/statistics/task-durations/endpoint.py +++ /dev/null @@ -1,44 +0,0 @@ -from opendc.models.experiment import Experiment -from opendc.models.task_duration import TaskDuration -from opendc.util import database, exceptions -from opendc.util.rest import Response - -def GET(request): - """Get this Experiment's Task Durations.""" - - # Make sure required parameters are there - - try: - request.check_required_parameters( - path = { - 'simulationId': 'int', - 'experimentId': 'int' - } - ) - - except exceptions.ParameterError as e: - return Response(400, e.message) - - # Instantiate an Experiment from the database - - experiment = Experiment.from_primary_key((request.params_path['experimentId'],)) - - # Make sure this Experiment exisits - - if not experiment.exists(): - return Response(404, '{} not found.'.format(experiment)) - - # Make sure this user is authorized to view this Experiment's Task Durations - - if not experiment.google_id_has_at_least(request.google_id, 'VIEW'): - return Response(403, 'Forbidden from viewing Task Durations for {}.'.format(experiment)) - - # Get and return the Task Durations - - task_durations = TaskDuration.from_experiment_id(request.params_path['experimentId']) - - return Response( - 200, - 'Successfully retrieved Task Durations for {}.'.format(experiment), - [x.to_JSON() for x in task_durations] - ) diff --git a/opendc/api/v1/simulations/simulationId/experiments/experimentId/task-states/__init__.py b/opendc/api/v1/simulations/simulationId/experiments/experimentId/task-states/__init__.py deleted file mode 100644 index e69de29b..00000000 --- a/opendc/api/v1/simulations/simulationId/experiments/experimentId/task-states/__init__.py +++ /dev/null diff --git a/opendc/api/v1/simulations/simulationId/experiments/experimentId/task-states/endpoint.py b/opendc/api/v1/simulations/simulationId/experiments/experimentId/task-states/endpoint.py deleted file mode 100644 index b11512c0..00000000 --- a/opendc/api/v1/simulations/simulationId/experiments/experimentId/task-states/endpoint.py +++ /dev/null @@ -1,51 +0,0 @@ -from opendc.models.experiment import Experiment -from opendc.models.task_state import TaskState -from opendc.util import database, exceptions -from opendc.util.rest import Response - -def GET(request): - """Get this Experiment's Task States.""" - - # Make sure required parameters are there - - try: - request.check_required_parameters( - path = { - 'simulationId': 'int', - 'experimentId': 'int' - } - ) - - except exceptions.ParameterError as e: - return Response(400, e.message) - - # Instantiate an Experiment from the database - - experiment = Experiment.from_primary_key((request.params_path['experimentId'],)) - - # Make sure this Experiment exists - - if not experiment.exists(): - return Response(404, '{} not found.'.format(experiment)) - - # Make sure this user is authorized to view Task States for this Experiment - - if not experiment.google_id_has_at_least(request.google_id, 'VIEW'): - return Response(403, 'Forbidden from viewing Task States for {}.'.format(experiment)) - - # Get and return the Task States - - if 'tick' in request.params_query: - task_states = TaskState.from_experiment_id_and_tick( - request.params_path['experimentId'], - request.params_query['tick'] - ) - - else: - task_states = TaskState.query('experiment_id', request.params_path['experimentId']) - - return Response( - 200, - 'Successfully retrieved Task States for {}.'.format(experiment), - [x.to_JSON() for x in task_states] - ) |
