aboutsummaryrefslogtreecommitdiff
path: root/rumba/model.py
diff options
context:
space:
mode:
Diffstat (limited to 'rumba/model.py')
-rw-r--r--rumba/model.py10
1 files changed, 4 insertions, 6 deletions
diff --git a/rumba/model.py b/rumba/model.py
index 4a9a1be..bab92bf 100644
--- a/rumba/model.py
+++ b/rumba/model.py
@@ -298,9 +298,7 @@ class ShimUDPIPCP(IPCP):
# @nodes: Nodes in the experiment
#
class Experiment:
- def __init__(self, testbed, nodes=None, config_file=None):
- if config_file:
- nodes = self.read_config_file(config_file)
+ def __init__(self, testbed, nodes=None):
if nodes is None:
nodes = list()
self.nodes = nodes
@@ -312,8 +310,8 @@ class Experiment:
# Generate missing information
self.generate()
- @staticmethod
- def read_config_file(filename='demo.conf'):
+ @classmethod
+ def from_config_file(cls, testbed, filename='demo.conf'):
"""
:type testbed: Testbed
:param testbed: the testbed for the experiment
@@ -408,7 +406,7 @@ class Experiment:
for x, l in node_data['dif_registrations'].items()}
parsed_nodes.append(Node(name, difs, dif_registrations))
- return parsed_nodes
+ return cls(testbed=testbed, nodes=parsed_nodes)
def __repr__(self):
s = ""