17
17
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
18
18
"""
19
19
20
- from ... utils import odict
20
+ from . import odict
21
21
from Element import Element
22
22
from Param import Param
23
23
from Port import Port
@@ -44,7 +44,7 @@ def __str__(self):
44
44
return str (self ._param .to_code ())
45
45
46
46
def __call__ (self ):
47
- return self ._param .evaluate ()
47
+ return self ._param .get_evaluated ()
48
48
49
49
class Block (Element ):
50
50
@@ -89,26 +89,26 @@ def __init__(self, flow_graph, n):
89
89
for param in map (lambda n : self .get_parent ().get_parent ().Param (self , n ), params ):
90
90
key = param .get_key ()
91
91
#test against repeated keys
92
- try : assert ( key not in self .get_param_keys () )
93
- except AssertionError : self . _exit_with_error ( 'Key "%s" already exists in params' % key )
92
+ try : assert key not in self .get_param_keys ()
93
+ except AssertionError : raise Exception , 'Key "%s" already exists in params' % key
94
94
#store the param
95
95
self ._params [key ] = param
96
96
#create the source objects
97
97
self ._sources = odict ()
98
98
for source in map (lambda n : self .get_parent ().get_parent ().Source (self , n ), sources ):
99
99
key = source .get_key ()
100
100
#test against repeated keys
101
- try : assert ( key not in self .get_source_keys () )
102
- except AssertionError : self . _exit_with_error ( 'Key "%s" already exists in sources' % key )
101
+ try : assert key not in self .get_source_keys ()
102
+ except AssertionError : raise Exception , 'Key "%s" already exists in sources' % key
103
103
#store the port
104
104
self ._sources [key ] = source
105
105
#create the sink objects
106
106
self ._sinks = odict ()
107
107
for sink in map (lambda n : self .get_parent ().get_parent ().Sink (self , n ), sinks ):
108
108
key = sink .get_key ()
109
109
#test against repeated keys
110
- try : assert ( key not in self .get_sink_keys () )
111
- except AssertionError : self . _exit_with_error ( 'Key "%s" already exists in sinks' % key )
110
+ try : assert key not in self .get_sink_keys ()
111
+ except AssertionError : raise Exception , 'Key "%s" already exists in sinks' % key
112
112
#store the port
113
113
self ._sinks [key ] = sink
114
114
#begin the testing
@@ -141,11 +141,14 @@ def validate(self):
141
141
All ports and params must be valid.
142
142
All checks must evaluate to true.
143
143
"""
144
+ Element .validate (self )
144
145
for c in self .get_params () + self .get_ports () + self .get_connections ():
145
- try : assert (c .is_valid ())
146
+ try :
147
+ c .validate ()
148
+ assert c .is_valid ()
146
149
except AssertionError :
147
150
for msg in c .get_error_messages ():
148
- self ._add_error_message ('>>> %s:\n \t %s' % (c , msg ))
151
+ self .add_error_message ('>>> %s:\n \t %s' % (c , msg ))
149
152
150
153
def __str__ (self ): return 'Block - %s - %s(%s)' % (self .get_id (), self .get_name (), self .get_key ())
151
154
@@ -256,4 +259,3 @@ def import_data(self, n):
256
259
#the key must exist in this block's params
257
260
if key in self .get_param_keys ():
258
261
self .get_param (key ).set_value (value )
259
- self .validate ()
0 commit comments