Skip to content

Commit 9df830a

Browse files
committed
Rename node item attribute type to type_
While using PyQt5 binding, the node attribute `type` caused "TypeError: 'str' object is not callable" in `QGraphicsScene.createItemGroup`, rename to `type_` solved this.
1 parent f4bde6a commit 9df830a

File tree

9 files changed

+39
-39
lines changed

9 files changed

+39
-39
lines changed

NodeGraphQt/base/commands.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -259,9 +259,9 @@ def set_visible(self, visible):
259259
self.port.view.setVisible(visible)
260260
node_view = self.port.node().view
261261
text_item = None
262-
if self.port.type() == IN_PORT:
262+
if self.port.type_() == IN_PORT:
263263
text_item = node_view.get_input_text_item(self.port.view)
264-
elif self.port.type() == OUT_PORT:
264+
elif self.port.type_() == OUT_PORT:
265265
text_item = node_view.get_output_text_item(self.port.view)
266266
if text_item:
267267
text_item.setVisible(visible)

NodeGraphQt/base/graph.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -353,12 +353,12 @@ def create_node(self, node_type, name=None, selected=True, color=None, pos=None)
353353
prop_attrs = node.model.__dict__.pop('_TEMP_property_attrs')
354354

355355
graph_attrs = self.model.node_property_attrs
356-
if node.type not in graph_attrs.keys():
357-
graph_attrs[node.type] = {
356+
if node.type_ not in graph_attrs.keys():
357+
graph_attrs[node.type_] = {
358358
n: {'widget_type': wt} for n, wt in wid_types.items()
359359
}
360360
for pname, pattrs in prop_attrs.items():
361-
graph_attrs[node.type][pname].update(pattrs)
361+
graph_attrs[node.type_][pname].update(pattrs)
362362

363363
node.NODE_NAME = self.get_unique_name(name or node.NODE_NAME)
364364
node.model.name = node.NODE_NAME
@@ -393,12 +393,12 @@ def add_node(self, node):
393393
prop_attrs = node.model.__dict__.pop('_TEMP_property_attrs')
394394

395395
graph_attrs = self.model.node_property_attrs
396-
if node.type not in graph_attrs.keys():
397-
graph_attrs[node.type] = {
396+
if node.type_ not in graph_attrs.keys():
397+
graph_attrs[node.type_] = {
398398
n: {'widget_type': wt} for n, wt in wid_types.items()
399399
}
400400
for pname, pattrs in prop_attrs.items():
401-
graph_attrs[node.type][pname].update(pattrs)
401+
graph_attrs[node.type_][pname].update(pattrs)
402402

403403
node._graph = self
404404
node.NODE_NAME = self.get_unique_name(node.NODE_NAME)
@@ -603,7 +603,7 @@ def _deserialize(self, data, relative_pos=False, pos=None):
603603

604604
# build the nodes.
605605
for n_id, n_data in data.get('nodes', {}).items():
606-
identifier = n_data['type']
606+
identifier = n_data['type_']
607607
NodeCls = self._vendor.create_node_instance(identifier)
608608
if NodeCls:
609609
node = NodeCls()

NodeGraphQt/base/model.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ class PortModel(object):
1212

1313
def __init__(self, node):
1414
self.node = node
15-
self.type = ''
15+
self.type_ = ''
1616
self.name = 'port'
1717
self.display_name = True
1818
self.multi_connection = False
@@ -46,7 +46,7 @@ def to_dict(self):
4646
class NodeModel(object):
4747

4848
def __init__(self):
49-
self.type = None
49+
self.type_ = None
5050
self.id = hex(id(self))
5151
self.icon = None
5252
self.name = 'node'
@@ -71,7 +71,7 @@ def __init__(self):
7171
# temp store the property widget types.
7272
# (deleted when node is added to the graph)
7373
self._TEMP_property_widget_types = {
74-
'type': NODE_PROP,
74+
'type_': NODE_PROP,
7575
'id': NODE_PROP,
7676
'icon': NODE_PROP,
7777
'name': NODE_PROP_QLINEEDIT,
@@ -113,11 +113,11 @@ def add_property(self, name, value, items=None, range=None, widget_type=NODE_PRO
113113
if range:
114114
self._TEMP_property_attrs[name]['range'] = range
115115
else:
116-
attrs = {self.type: {name: {'widget_type': widget_type}}}
116+
attrs = {self.type_: {name: {'widget_type': widget_type}}}
117117
if items:
118-
attrs[self.type][name]['items'] = items
118+
attrs[self.type_][name]['items'] = items
119119
if range:
120-
attrs[self.type][name]['range'] = range
120+
attrs[self.type_][name]['range'] = range
121121
self._graph_model.node_property_attrs.update(attrs)
122122

123123
def set_property(self, name, value):
@@ -137,7 +137,7 @@ def get_widget_type(self, name):
137137
graph = self._graph_model
138138
if graph is None:
139139
return self._TEMP_property_widget_types.get(name)
140-
return graph.node_property_attrs[self.type][name]['widget_type']
140+
return graph.node_property_attrs[self.type_][name]['widget_type']
141141

142142
@property
143143
def properties(self):

NodeGraphQt/base/node.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,15 @@ def __init__(self, node=None):
3838
assert node, 'node cannot be None.'
3939
self._graph = None
4040
self._model = NodeModel()
41-
self._model.type = self.type
41+
self._model.type_ = self.type_
4242
self._model.name = self.NODE_NAME
4343
self._view = node
44-
self._view.type = self.type
44+
self._view.type_ = self.type_
4545
self._view.name = self.model.name
4646
self._view.id = self._model.id
4747

4848
def __repr__(self):
49-
return '{}(\'{}\')'.format(self.type, self.NODE_NAME)
49+
return '{}(\'{}\')'.format(self.type_, self.NODE_NAME)
5050

5151
def __eq__(self, other):
5252
if isinstance(other, self.__class__):
@@ -57,7 +57,7 @@ def __ne__(self, other):
5757
return not self.__eq__(other)
5858

5959
@classproperty
60-
def type(cls):
60+
def type_(cls):
6161
"""
6262
Node type identifier followed by the class name.
6363
eg. com.chantasticvfx.MyNode
@@ -120,7 +120,7 @@ def model(self):
120120

121121
def set_model(self, model):
122122
self._model = model
123-
self._model.type = self.type
123+
self._model.type_ = self.type_
124124
self._model.id = self.view.id
125125

126126
def update_model(self):
@@ -439,7 +439,7 @@ def add_input(self, name='input', multi_input=False, display_name=True):
439439
raise AssertionError('port name "{}" already taken.'.format(name))
440440
view = self.view.add_input(name, multi_input, display_name)
441441
port = Port(self, view)
442-
port.model.type = IN_PORT
442+
port.model.type_ = IN_PORT
443443
port.model.name = name
444444
port.model.display_name = display_name
445445
port.model.multi_connection = multi_input
@@ -463,7 +463,7 @@ def add_output(self, name='output', multi_output=True, display_name=True):
463463
raise AssertionError('port name "{}" already taken.'.format(name))
464464
view = self.view.add_output(name, multi_output, display_name)
465465
port = Port(self, view)
466-
port.model.type = OUT_PORT
466+
port.model.type_ = OUT_PORT
467467
port.model.name = name
468468
port.model.display_name = display_name
469469
port.model.multi_connection = multi_output

NodeGraphQt/base/port.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,14 +50,14 @@ def model(self):
5050
"""
5151
return self.__model
5252

53-
def type(self):
53+
def type_(self):
5454
"""
5555
Returns the port type.
5656
5757
Returns:
5858
str: 'in' for input port or 'out' for output port.
5959
"""
60-
return self.model.type
60+
return self.model.type_
6161

6262
def multi_connection(self):
6363
"""
@@ -126,9 +126,9 @@ def connected_ports(self):
126126
for node_id, port_names in self.model.connected_ports.items():
127127
for port_name in port_names:
128128
node = graph.get_node_by_id(node_id)
129-
if self.type() == 'in':
129+
if self.type_() == 'in':
130130
ports.append(node.outputs()[port_name])
131-
elif self.type() == 'out':
131+
elif self.type_() == 'out':
132132
ports.append(node.inputs()[port_name])
133133
return ports
134134

NodeGraphQt/base/vendor.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ def register_node(self, node, alias=None):
5454
return
5555

5656
name = node.NODE_NAME
57-
node_type = node.type
57+
node_type = node.type_
5858

5959
if self._nodes.get(node_type):
6060
raise AssertionError(

NodeGraphQt/widgets/node_abstract.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ def __init__(self, name='node', parent=None):
2020
'color': (13, 18, 23, 255),
2121
'border_color': (46, 57, 66, 255),
2222
'text_color': (255, 255, 255, 180),
23-
'type': 'AbstractBaseNode',
23+
'type_': 'AbstractBaseNode',
2424
'selected': False,
2525
'disabled': False,
2626
}
@@ -75,12 +75,12 @@ def id(self, unique_id=''):
7575
self._properties['id'] = unique_id
7676

7777
@property
78-
def type(self):
79-
return self._properties['type']
78+
def type_(self):
79+
return self._properties['type_']
8080

81-
@type.setter
82-
def type(self, node_type='NODE'):
83-
self._properties['type'] = node_type
81+
@type_.setter
82+
def type_(self, node_type='NODE'):
83+
self._properties['type_'] = node_type
8484

8585
@property
8686
def size(self):

NodeGraphQt/widgets/node_base.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ def _tooltip_disable(self, state):
230230
tooltip = '<b>{}</b>'.format(self._properties['name'])
231231
if state:
232232
tooltip += ' <font color="red"><b>(DISABLED)</b></font>'
233-
tooltip += '<br/>{}<br/>'.format(self._properties['type'])
233+
tooltip += '<br/>{}<br/>'.format(self._properties['type_'])
234234
self.setToolTip(tooltip)
235235

236236
def _set_base_size(self):

NodeGraphQt/widgets/node_widgets.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ def label(self, label):
6969
self._label = label
7070

7171
@property
72-
def type(self):
72+
def type_(self):
7373
return str(self.__class__.__name__)
7474

7575
@property
@@ -103,7 +103,7 @@ def __init__(self, parent=None, name='', label='', items=None):
103103
self.add_items(items)
104104

105105
@property
106-
def type(self):
106+
def type_(self):
107107
return 'ComboNodeWidget'
108108

109109
@property
@@ -156,7 +156,7 @@ def __init__(self, parent=None, name='', label='', text=''):
156156
self.text = text
157157

158158
@property
159-
def type(self):
159+
def type_(self):
160160
return 'LineEditNodeWidget'
161161

162162
@property
@@ -194,7 +194,7 @@ def __init__(self, parent=None, name='', label='', text='', state=False):
194194
self.state = state
195195

196196
@property
197-
def type(self):
197+
def type_(self):
198198
return 'CheckboxNodeWidget'
199199

200200
@property

0 commit comments

Comments
 (0)