aboutsummaryrefslogtreecommitdiff
path: root/rumba/model.py
diff options
context:
space:
mode:
Diffstat (limited to 'rumba/model.py')
-rw-r--r--rumba/model.py11
1 files changed, 6 insertions, 5 deletions
diff --git a/rumba/model.py b/rumba/model.py
index faf353c..4a9a1be 100644
--- a/rumba/model.py
+++ b/rumba/model.py
@@ -298,7 +298,9 @@ class ShimUDPIPCP(IPCP):
# @nodes: Nodes in the experiment
#
class Experiment:
- def __init__(self, testbed, nodes=None):
+ def __init__(self, testbed, nodes=None, config_file=None):
+ if config_file:
+ nodes = self.read_config_file(config_file)
if nodes is None:
nodes = list()
self.nodes = nodes
@@ -311,13 +313,12 @@ class Experiment:
self.generate()
@staticmethod
- def from_config_file(testbed, filename='demo.conf'):
+ def read_config_file(filename='demo.conf'):
"""
:type testbed: Testbed
- :rtype: Experiment
:param testbed: the testbed for the experiment
:param filename: name of the .conf file
- :return: an Experiment object
+ :return: the nodes list for the configuration file
"""
shims = {}
@@ -407,7 +408,7 @@ class Experiment:
for x, l in node_data['dif_registrations'].items()}
parsed_nodes.append(Node(name, difs, dif_registrations))
- return Experiment(testbed=testbed, nodes=parsed_nodes)
+ return parsed_nodes
def __repr__(self):
s = ""