Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion NodeGraphQt/base/node.py
Original file line number Diff line number Diff line change
Expand Up @@ -853,7 +853,7 @@ def update_streams(self, *args):
for port, nodeList in node.connected_output_nodes().items():
nodes.extend(nodeList)

if not nodes:
if not node.connected_output_nodes():
try:
node.run()
except Exception as error:
Expand Down
175 changes: 175 additions & 0 deletions example.nodes
Original file line number Diff line number Diff line change
@@ -0,0 +1,175 @@
{
"nodes":{
"0x15095e08":{
"type_":"Viewers.DataViewerNode",
"icon":null,
"name":"Output",
"color":[
13,
18,
23,
255
],
"border_color":[
74,
84,
85,
255
],
"text_color":[
255,
255,
255,
180
],
"disabled":false,
"selected":true,
"width":170,
"height":91.0,
"pos":[
149.0,
-146.0
],
"custom":{
"data":""
}
},
"0x15126848":{
"type_":"Inputs.BoolInputNode",
"icon":null,
"name":"Bool",
"color":[
13,
18,
23,
255
],
"border_color":[
74,
84,
85,
255
],
"text_color":[
255,
255,
255,
180
],
"disabled":false,
"selected":true,
"width":170,
"height":103.0,
"pos":[
-413.0,
-212.0
],
"custom":{
"out":true,
"combo":"True"
}
},
"0x15140308":{
"type_":"Logics.BooleanNode",
"icon":null,
"name":"Boolean",
"color":[
13,
18,
23,
255
],
"border_color":[
74,
84,
85,
255
],
"text_color":[
255,
255,
255,
180
],
"disabled":false,
"selected":true,
"width":170,
"height":103.0,
"pos":[
-143.0,
-149.0
],
"custom":{
"out":null,
"funcs":"and"
}
},
"0x1514a4c8":{
"type_":"Inputs.BoolInputNode",
"icon":null,
"name":"Bool 1",
"color":[
13,
18,
23,
255
],
"border_color":[
74,
84,
85,
255
],
"text_color":[
255,
255,
255,
180
],
"disabled":false,
"selected":true,
"width":170,
"height":103.0,
"pos":[
-411.25,
-61.5
],
"custom":{
"out":true,
"combo":"True"
}
}
},
"connections":[
{
"in":[
"0x15095e08",
"data"
],
"out":[
"0x15140308",
"out"
]
},
{
"out":[
"0x15126848",
"out"
],
"in":[
"0x15140308",
"a"
]
},
{
"in":[
"0x15140308",
"b"
],
"out":[
"0x1514a4c8",
"out"
]
}
]
}
34 changes: 11 additions & 23 deletions example_auto_nodes/module_nodes.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,18 @@
get_functions_from_module,
get_functions_from_type)

import math
import os
import sys
import random
import numpy
import numpydoc.docscrape
import inspect

# add basic math functions to math library
math.add = lambda x, y: x + y
math.sub = lambda x, y: x - y
math.mul = lambda x, y: x * y
math.div = lambda x, y: x / y


def get_value(self,index):
return self[index]


def get_item(self,index):
return self.items()[index]
import example_auto_nodes.wrappers.math as _math
import example_auto_nodes.wrappers.list as _list
import example_auto_nodes.wrappers.dict as _dict
import example_auto_nodes.wrappers.str as _str
import example_auto_nodes.wrappers.tuple as _tuple


class MathModuleNode(ModuleNode):
Expand All @@ -36,7 +27,7 @@ class MathModuleNode(ModuleNode):
# set the initial default node name.
NODE_NAME = 'math module'

module_functions = get_functions_from_type(math)
module_functions = get_functions_from_type(_math)

def __init__(self):
super(MathModuleNode, self).__init__(float, float)
Expand Down Expand Up @@ -162,8 +153,8 @@ class StringFunctionsNode(ModuleNode):
# set the initial default node name.
NODE_NAME = 'String Functions'

module_functions = get_functions_from_type(str)
module_functions["get value"] = get_value
module_functions = get_functions_from_type(_str)


def __init__(self):
super(StringFunctionsNode, self).__init__()
Expand All @@ -180,8 +171,7 @@ class ListFunctionsNode(ModuleNode):
# set the initial default node name.
NODE_NAME = 'List Functions'

module_functions = get_functions_from_type(list)
module_functions["get value"] = get_value
module_functions = get_functions_from_type(_list)

def __init__(self):
super(ListFunctionsNode, self).__init__()
Expand All @@ -198,8 +188,7 @@ class DictFunctionsNode(ModuleNode):
# set the initial default node name.
NODE_NAME = 'Dict Functions'

module_functions = get_functions_from_type(list)
module_functions["get item"] = get_item
module_functions = get_functions_from_type(_dict)

def __init__(self):
super(DictFunctionsNode, self).__init__()
Expand All @@ -216,8 +205,7 @@ class TupleFunctionsNode(ModuleNode):
# set the initial default node name.
NODE_NAME = 'Tuple Functions'

module_functions = get_functions_from_type(tuple)
module_functions["get value"] = get_value
module_functions = get_functions_from_type(_tuple)

def __init__(self):
super(TupleFunctionsNode, self).__init__()
Expand Down
Empty file.
45 changes: 45 additions & 0 deletions example_auto_nodes/wrappers/dict.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
def clear(self):
self.clear()
return self


def copy(self):
return self.copy()


def fromkeys(self, iterable, value=None):
return self.fromkeys(iterable, value)


def get(self, key, default=None):
return self.get(key, default)


def items(self):
return list(self.items())


def keys(self):
return list(self.keys())


def pop(self, index):
return self.pop(index)


def popitem(self):
return self.popitem()


def setdefault(self, key, default=None):
self.setdefault(key, default)
return self


def update(self, e):
self.update(e)
return self


def values(self):
return list(self.values())
52 changes: 52 additions & 0 deletions example_auto_nodes/wrappers/list.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
def append(self, object):
self.append(object)
return self


def clear(self):
self.clear()
return self


def copy(self):
return self.copy()


def count(self, value):
return self.count(value)


def extend(self, iterable):
self.extend(iterable)
return self

def index(self, value):
return self.index(value)


def insert(self, index, obj):
self.insert(index, obj)
return self


def pop(self, index=-1):
return self.pop(index)


def remove(self, value):
return self.remove(value)


def reverse(self):
self.reverse()
return self


def sort(self):
self.sort()
return self


# custom functions
def get(self, index):
return self.__getitem__(index)
Loading