1- from NodeGraphQt import BaseNode , SubGraph , Port , QtCore
2- from NodeGraphQt .constants import NODE_PROP
1+ from NodeGraphQt import BaseNode , Port , QtCore
32from . utils import update_node_down_stream
43import traceback
54import hashlib
@@ -34,43 +33,43 @@ class AutoNode(BaseNode, QtCore.QObject):
3433 def __init__ (self , defaultInputType = None , defaultOutputType = None ):
3534 super (AutoNode , self ).__init__ ()
3635 QtCore .QObject .__init__ (self )
37- self ._needCook = True
36+ self ._need_cook = True
3837 self ._error = False
3938 self .matchTypes = [['float' , 'int' ]]
4039 self .errorColor = (200 , 50 , 50 )
4140 self .stopCookColor = (200 , 200 , 200 )
4241 self ._cryptoColors = CryptoColors ()
4342
44- self .create_property ('autoCook ' , True )
43+ self .create_property ('auto_cook ' , True )
4544 self .create_property ('default_color' , self .get_property ('color' ))
4645 self .defaultValue = None
4746 self .defaultInputType = defaultInputType
4847 self .defaultOutputType = defaultOutputType
4948
50- self ._cookTime = 0.0
49+ self ._cook_time = 0.0
5150 self ._toolTip = self ._setup_tool_tip ()
5251
5352 @property
54- def autoCook (self ):
53+ def auto_cook (self ):
5554 """
5655 Returns whether the node can update stream automatically.
5756 """
5857
59- return self .get_property ('autoCook ' )
58+ return self .get_property ('auto_cook ' )
6059
61- @autoCook .setter
62- def autoCook (self , mode ):
60+ @auto_cook .setter
61+ def auto_cook (self , mode ):
6362 """
6463 Set whether the node can update stream automatically.
6564
6665 Args:
6766 mode(bool).
6867 """
6968
70- if mode is self .autoCook :
69+ if mode is self .auto_cook :
7170 return
7271
73- self .model .set_property ('autoCook ' , mode )
72+ self .model .set_property ('auto_cook ' , mode )
7473 if mode :
7574 self .set_property ('color' , self .get_property ('default_color' ))
7675 else :
@@ -79,23 +78,23 @@ def autoCook(self, mode):
7978 self .set_property ('color' , self .stopCookColor )
8079
8180 @property
82- def cookTime (self ):
81+ def cook_time (self ):
8382 """
8483 Returns the last cooked time of the node.
8584 """
8685
87- return self ._cookTime
86+ return self ._cook_time
8887
89- @cookTime .setter
90- def cookTime (self , cook_time ):
88+ @cook_time .setter
89+ def cook_time (self , cook_time ):
9190 """
9291 Set the last cooked time of the node.
9392
9493 Args:
9594 cook_time(float).
9695 """
9796
98- self ._cookTime = cook_time
97+ self ._cook_time = cook_time
9998 self ._update_tool_tip ()
10099
101100 @property
@@ -111,17 +110,17 @@ def update_stream(self, forceCook=False):
111110 Update all down stream nodes.
112111
113112 Args:
114- forceCook(bool): if True, it will ignore the autoCook and so on.
113+ forceCook(bool): if True, it will ignore the auto_cook and so on.
115114 """
116115
117116 if not forceCook :
118- if not self .autoCook or not self ._needCook :
117+ if not self .auto_cook or not self .get_input_data :
119118 return
120119 if self .graph is not None and not self .graph .auto_update :
121120 return
122121 update_node_down_stream (self )
123122
124- def getData (self , port ):
123+ def get_data (self , port ):
125124 """
126125 Get node data by port.
127126 Most time it will called by output nodes of the node.
@@ -135,7 +134,7 @@ def getData(self, port):
135134
136135 return self .get_property (port .name ())
137136
138- def getInputData (self , port ):
137+ def get_input_data (self , port ):
139138 """
140139 Get input data by input port name/index/object.
141140
@@ -154,7 +153,7 @@ def getInputData(self, port):
154153 return copy .deepcopy (self .defaultValue )
155154
156155 for from_port in from_ports :
157- data = from_port .node ().getData (from_port )
156+ data = from_port .node ().get_data (from_port )
158157 return copy .deepcopy (data )
159158
160159 def when_disabled (self ):
@@ -164,16 +163,16 @@ def when_disabled(self):
164163
165164 num = max (0 , len (self .input_ports ())- 1 )
166165 for index , out_port in enumerate (self .output_ports ()):
167- self .model .set_property (out_port .name (), self .getInputData (min (index , num )))
166+ self .model .set_property (out_port .name (), self .get_input_data (min (index , num )))
168167
169168 def cook (self ):
170169 """
171170 The entry of the node evaluation.
172171 Most time we need to call this method instead of AutoNode.run'.
173172 """
174173
175- _tmp = self .autoCook
176- self .model .set_property ('autoCook ' , False )
174+ _tmp = self .auto_cook
175+ self .model .set_property ('auto_cook ' , False )
177176
178177 if self ._error :
179178 self ._close_error ()
@@ -184,12 +183,12 @@ def cook(self):
184183 except :
185184 self .error (traceback .format_exc ())
186185
187- self .model .set_property ('autoCook ' , _tmp )
186+ self .model .set_property ('auto_cook ' , _tmp )
188187
189188 if self ._error :
190189 return
191190
192- self .cookTime = time .time () - _start_time
191+ self .cook_time = time .time () - _start_time
193192
194193 self .cooked .emit ()
195194
@@ -201,19 +200,19 @@ def run(self):
201200 pass
202201
203202 def on_input_connected (self , to_port , from_port ):
204- if self .checkPortType (to_port , from_port ):
203+ if self .check_port_type (to_port , from_port ):
205204 self .update_stream ()
206205 else :
207- self ._needCook = False
206+ self .get_input_data = False
208207 to_port .disconnect_from (from_port )
209208
210209 def on_input_disconnected (self , to_port , from_port ):
211- if not self ._needCook :
212- self ._needCook = True
210+ if not self .get_input_data :
211+ self .get_input_data = True
213212 return
214213 self .update_stream ()
215214
216- def checkPortType (self , to_port , from_port ):
215+ def check_port_type (self , to_port , from_port ):
217216 """
218217 Check whether the port_type of the to_port and from_type is matched.
219218
@@ -272,13 +271,6 @@ def set_port_type(self, port, data_type: str):
272271 conn_type = 'multi' if current_port .multi_connection () else 'single'
273272 current_port .view .setToolTip ('{}: {} ({}) ' .format (current_port .name (), data_type , conn_type ))
274273
275- def create_property (self , name , value , items = None , range = None ,
276- widget_type = NODE_PROP , tab = None , ext = None , funcs = None ):
277- super (AutoNode , self ).create_property (name , value , items , range , widget_type , tab , ext , funcs )
278-
279- if value is not None :
280- self .set_port_type (name , type (value ).__name__ )
281-
282274 def add_input (self , name = 'input' , data_type = 'None' , multi_input = False , display_name = True ,
283275 color = None ):
284276 new_port = super (AutoNode , self ).add_input (name , multi_input , display_name , color )
@@ -314,23 +306,6 @@ def _close_error(self):
314306 self .set_property ('color' , self .get_property ('default_color' ))
315307 self ._update_tool_tip ()
316308
317- def _show_error (self , message ):
318- """
319- Show the node error.
320- It will change the node color and set error describe to the node tooltip.
321-
322- Args:
323- message(str): the describe of the error.
324- """
325-
326- if not self ._error :
327- self .model .set_property ('default_color' , self .get_property ('color' ))
328-
329- self ._error = True
330- self .set_property ('color' , self .errorColor )
331- tooltip = '<font color="red"><br>({})</br></font>' .format (message )
332- self ._update_tool_tip (tooltip )
333-
334309 def _update_tool_tip (self , message = None ):
335310 """
336311 Update the node tooltip.
@@ -340,7 +315,7 @@ def _update_tool_tip(self, message=None):
340315 """
341316
342317 if message is None :
343- tooltip = self ._toolTip .format (self ._cookTime )
318+ tooltip = self ._toolTip .format (self ._cook_time )
344319 else :
345320 tooltip = '<b>{}</b>' .format (self .name ())
346321 tooltip += message
@@ -358,14 +333,21 @@ def _setup_tool_tip(self):
358333 tooltip = '<br> last cook used: {}s</br>'
359334 return self ._update_tool_tip (tooltip )
360335
361- def error (self , message = None ):
336+ def error (self , message ):
362337 """
363- Set error message to node tooltip.
338+ Change the node color and set error describe to the node tooltip.
364339
365340 Args:
366341 message(str): the describe of the error.
367342 """
368- self ._show_error (message )
343+
344+ if not self ._error :
345+ self .model .set_property ('default_color' , self .get_property ('color' ))
346+
347+ self ._error = True
348+ self .set_property ('color' , self .errorColor )
349+ tooltip = '<font color="red"><br>({})</br></font>' .format (message )
350+ self ._update_tool_tip (tooltip )
369351
370352 # def __del__(self):
371353 # """
0 commit comments