summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Koslowski <koslowski@kit.edu>2014-12-19 13:50:41 +0100
committerSebastian Koslowski <koslowski@kit.edu>2014-12-19 13:50:41 +0100
commit01b993385bb645d1d2e9660021533610ab35b741 (patch)
tree017a8dd7a44e8fd4c3d6945ef797305507795ba2
parent7bebb64fc4d58ee25c7f84d378aad4bd9065536c (diff)
grc: port domain code clean-up
-rw-r--r--grc/base/Platform.py18
-rw-r--r--grc/python/FlowGraph.py4
2 files changed, 13 insertions, 9 deletions
diff --git a/grc/base/Platform.py b/grc/base/Platform.py
index c5d03e2ffc..9fb67329d4 100644
--- a/grc/base/Platform.py
+++ b/grc/base/Platform.py
@@ -26,7 +26,7 @@ from Connection import Connection as _Connection
from Block import Block as _Block
from Port import Port as _Port
from Param import Param as _Param
-from Constants import BLOCK_TREE_DTD, FLOW_GRAPH_DTD, DOMAIN_DTD, DEFAULT_DOMAIN
+from Constants import BLOCK_TREE_DTD, FLOW_GRAPH_DTD, DOMAIN_DTD
class Platform(_Element):
@@ -135,6 +135,7 @@ class Platform(_Element):
self._category_trees_n.append(n)
def load_domain_xml(self, xml_file):
+ """Load a domain properties and connection templates from XML"""
ParseXML.validate_dtd(xml_file, DOMAIN_DTD)
n = ParseXML.from_file(xml_file).find('domain')
@@ -151,10 +152,10 @@ class Platform(_Element):
color = n.find('color') or ''
try:
- import gtk # ugly, but handy
+ import gtk # ugly but handy
gtk.gdk.color_parse(color)
except (ValueError, ImportError):
- if color: # no color is okay
+ if color: # no color is okay, default set in GUI
print >> sys.stderr, 'Warning: Can\'t parse color code "%s" for domain "%s" ' % (color, key)
color = None
@@ -165,10 +166,13 @@ class Platform(_Element):
color=color
)
for connection_n in n.findall('connection'):
- source_domain = connection_n.find('source_domain') or DEFAULT_DOMAIN
- sink_domain = connection_n.find('sink_domain') or DEFAULT_DOMAIN
- make = connection_n.find('make') or ''
- self._connection_templates[(source_domain, sink_domain)] = make
+ key = (connection_n.find('source_domain'), connection_n.find('sink_domain'))
+ if not all(key):
+ print >> sys.stderr, 'Warning: Empty domain key(s) in connection template.\n\t%s' % xml_file
+ elif key in self._connection_templates:
+ print >> sys.stderr, 'Warning: Connection template "%s" already exists.\n\t%s' % (key, xml_file)
+ else:
+ self._connection_templates[key] = connection_n.find('make') or ''
def parse_flow_graph(self, flow_graph_file):
"""
diff --git a/grc/python/FlowGraph.py b/grc/python/FlowGraph.py
index 03280cc88c..d7337b8a96 100644
--- a/grc/python/FlowGraph.py
+++ b/grc/python/FlowGraph.py
@@ -146,8 +146,8 @@ class FlowGraph(_FlowGraph, _GUIFlowGraph):
key_offset = 0
pads = self.get_pad_sources() if port.is_source() else self.get_pad_sinks()
for pad in pads:
- # using the block type param instead of the port domain here
- # to stress that hier block generation is domain agnostic
+ # using the block param 'type' instead of the port domain here
+ # to emphasize that hier block generation is domain agnostic
is_message_pad = pad.get_param('type').get_evaluated() == "message"
if port.get_parent() == pad:
if is_message_pad: