diff options
author | Josh Blum | 2009-08-26 13:29:28 -0700 |
---|---|---|
committer | Josh Blum | 2009-08-26 13:29:28 -0700 |
commit | dc9e9db16047ec589a7b0488fac04c5bb682903c (patch) | |
tree | 1a97913e4f1ab6acd0627757f034ee6c9eb4672f /grc/python | |
parent | 854bed10dfb61e9f9feab5259a75e809941089ab (diff) | |
download | gnuradio-dc9e9db16047ec589a7b0488fac04c5bb682903c.tar.gz gnuradio-dc9e9db16047ec589a7b0488fac04c5bb682903c.tar.bz2 gnuradio-dc9e9db16047ec589a7b0488fac04c5bb682903c.zip |
added rewrite methods to element to separate from validation logic
Diffstat (limited to 'grc/python')
-rw-r--r-- | grc/python/Block.py | 7 | ||||
-rw-r--r-- | grc/python/Port.py | 14 |
2 files changed, 14 insertions, 7 deletions
diff --git a/grc/python/Block.py b/grc/python/Block.py index 47fe13a3c..f47f76446 100644 --- a/grc/python/Block.py +++ b/grc/python/Block.py @@ -54,7 +54,6 @@ class Block(_Block): Validate this block. Call the base class validate. Evaluate the checks: each check must evaluate to True. - Adjust the nports. """ _Block.validate(self) #evaluate the checks @@ -65,6 +64,12 @@ class Block(_Block): try: assert check_eval except AssertionError: self.add_error_message('Check "%s" failed.'%check) except: self.add_error_message('Check "%s" did not evaluate.'%check) + + def rewrite(self): + """ + Add and remove ports to adjust for the nports. + """ + _Block.rewrite(self) #adjust nports for get_ports, get_port in ( (self.get_sources, self.get_source), diff --git a/grc/python/Port.py b/grc/python/Port.py index bfbac7237..dde736dba 100644 --- a/grc/python/Port.py +++ b/grc/python/Port.py @@ -57,17 +57,19 @@ class Port(_Port): except AssertionError: self.add_error_message('Port is not connected.') try: assert self.is_source() or len(self.get_enabled_connections()) <= 1 except AssertionError: self.add_error_message('Port has too many connections.') - ################################################################ - # message port logic - ################################################################ + #message port logic if self.get_type() == 'msg': try: assert not self.get_nports() except AssertionError: self.add_error_message('A port of type "msg" cannot have "nports" set.') try: assert self.get_vlen() == 1 except AssertionError: self.add_error_message('A port of type "msg" must have a "vlen" of 1.') - ################################################################ - # virtual sink logic - ################################################################ + + def rewrite(self): + """ + Handle the port cloning for virtual blocks. + """ + _Port.rewrite(self) + #virtual sink logic if self.get_parent().get_key() == 'virtual_sink': if self.get_enabled_connections(): #clone type and vlen source = self.get_enabled_connections()[0].get_source() |