11#!/usr/bin/python
22
3+ from NodeGraphQt .errors import NodeRegistrationError
4+
35
46class NodeFactory (object ):
57 """
68 Node factory that stores all the node types.
79 """
810
9- def __init__ (self ):
10- self ._aliases = {}
11- self ._names = {}
12- self ._nodes = {}
11+ __aliases = {}
12+ __names = {}
13+ __nodes = {}
1314
1415 @property
1516 def names (self ):
16- return self ._names
17+ return self .__names
1718
1819 @property
1920 def aliases (self ):
20- return self ._aliases
21+ return self .__aliases
2122
2223 @property
2324 def nodes (self ):
24- return self ._nodes
25+ return self .__nodes
2526
2627 def create_node_instance (self , node_type = None , alias = None ):
2728 """
@@ -32,15 +33,15 @@ def create_node_instance(self, node_type=None, alias=None):
3233 alias (str): alias name (optional).
3334
3435 Returns:
35- NodeGraphQt.Node: new node instance object.
36+ NodeGraphQt.Node: new node class object.
3637 """
3738 if alias and self .aliases .get (alias ):
3839 node_type = self .aliases [alias ]
3940
40- NodeInstance = self ._nodes .get (node_type )
41- if not NodeInstance :
41+ NodeClass = self .__nodes .get (node_type )
42+ if not NodeClass :
4243 print ('can\' t find node type {}' .format (node_type ))
43- return NodeInstance
44+ return NodeClass
4445
4546 def register_node (self , node , alias = None ):
4647 """
@@ -56,30 +57,32 @@ def register_node(self, node, alias=None):
5657 name = node .NODE_NAME
5758 node_type = node .type_
5859
59- if self ._nodes .get (node_type ):
60- raise AssertionError (
61- 'Node: {} already exists ! '
62- 'Please specify a new plugin class name or identifier .'
60+ if self .__nodes .get (node_type ):
61+ raise NodeRegistrationError (
62+ 'id "{}" already registered ! '
63+ 'Please specify a new plugin class name or __identifier__ .'
6364 .format (node_type ))
64- self ._nodes [node_type ] = node
65+ self .__nodes [node_type ] = node
6566
66- if self ._names .get (node_type ):
67- raise AssertionError (
67+ if self .__names .get (node_type ):
68+ raise NodeRegistrationError (
6869 'Node Name: {} already exists!'
6970 'Please specify a new node name for node: {}'
7071 .format (name , node_type ))
71- self ._names [name ] = node_type
72+ self .__names [name ] = node_type
7273
7374 if alias :
74- if self ._aliases .get (alias ):
75- raise AssertionError (
76- 'Node Alias: {} already taken!' .format (alias ))
77- self ._aliases [alias ] = node_type
75+ if self .__aliases .get (alias ):
76+ raise NodeRegistrationError (
77+ 'Alias: "{}" already registered to "{}"'
78+ .format (alias , self .__aliases .get (alias ))
79+ )
80+ self .__aliases [alias ] = node_type
7881
7982 def clear_registered_nodes (self ):
8083 """
8184 clear out registered nodes, to prevent conflicts on reset.
8285 """
83- self ._nodes .clear ()
84- self ._names .clear ()
85- self ._aliases .clear ()
86+ self .__nodes .clear ()
87+ self .__names .clear ()
88+ self .__aliases .clear ()
0 commit comments