summaryrefslogtreecommitdiff
path: root/opendc/models/rack_state.py
diff options
context:
space:
mode:
authorGeorgios Andreadis <info@gandreadis.com>2020-06-25 14:48:24 +0200
committerGeorgios Andreadis <info@gandreadis.com>2020-06-25 14:48:24 +0200
commitff31029e732dd56743690dc608f535163a0548ff (patch)
tree04fe8e4a17816d93db386b5b6c560be654cdee86 /opendc/models/rack_state.py
parentc2706e023070211f8ac992b800353807a1f10886 (diff)
Experiment
Diffstat (limited to 'opendc/models/rack_state.py')
-rw-r--r--opendc/models/rack_state.py63
1 files changed, 0 insertions, 63 deletions
diff --git a/opendc/models/rack_state.py b/opendc/models/rack_state.py
deleted file mode 100644
index a261fce0..00000000
--- a/opendc/models/rack_state.py
+++ /dev/null
@@ -1,63 +0,0 @@
-from opendc.models.model import Model
-from opendc.util import database
-
-
-class RackState(Model):
- JSON_TO_PYTHON_DICT = {'RackState': {'rackId': 'rack_id', 'loadFraction': 'load_fraction', 'tick': 'tick'}}
-
- @classmethod
- def _from_database_row(cls, row):
- """Instantiate a RackState from a database row."""
-
- return cls(rack_id=row[0], load_fraction=row[1], tick=row[2])
-
- @classmethod
- def from_experiment_id(cls, experiment_id):
- """Query RackStates by their Experiment id."""
-
- rack_states = []
-
- statement = '''
- SELECT racks.id, avg(machine_states.load_fraction), machine_states.tick
- FROM racks
- JOIN machines ON racks.id = machines.rack_id
- JOIN machine_states ON machines.id = machine_states.machine_id
- WHERE machine_states.experiment_id = %s
- GROUP BY machine_states.tick, racks.id
- '''
- results = database.fetch_all(statement, (experiment_id, ))
-
- for row in results:
- rack_states.append(cls._from_database_row(row))
-
- return rack_states
-
- @classmethod
- def from_experiment_id_and_tick(cls, experiment_id, tick):
- """Query RackStates by their Experiment id."""
-
- rack_states = []
-
- statement = '''
- SELECT racks.id, avg(machine_states.load_fraction), machine_states.tick
- FROM racks
- JOIN machines ON racks.id = machines.rack_id
- JOIN machine_states ON machines.id = machine_states.machine_id
- WHERE machine_states.experiment_id = %s
- AND machine_states.tick = %s
- GROUP BY machine_states.tick, racks.id
- '''
- results = database.fetch_all(statement, (experiment_id, tick))
-
- for row in results:
- rack_states.append(cls._from_database_row(row))
-
- return rack_states
-
- def google_id_has_at_least(self, google_id, authorization_level):
- """Return True if the User has at least the given auth level over this RackState."""
-
- if authorization_level in ['EDIT', 'OWN']:
- return False
-
- return True