Skip to content

Commit

Permalink
pynopegl: allow empty argument for list-based parameters
Browse files Browse the repository at this point in the history
  • Loading branch information
jacereda authored and ubitux committed Feb 12, 2024
1 parent 0cc71ae commit f225d5c
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 0 deletions.
4 changes: 4 additions & 0 deletions pynopegl/init_header.py
Original file line number Diff line number Diff line change
Expand Up @@ -195,11 +195,15 @@ def _args_setter(self, cython_setter, param_name, *args):
return cython_setter(param_name, args)

def _add_nodes(self, param_name, *nodes):
if not nodes:
return 0
if hasattr(nodes[0], "__iter__"):
raise Exception(f"add_{param_name}() takes elements as positional arguments, not list")
return self._param_add_nodes(param_name, len(nodes), nodes)

def _add_f64s(self, param_name, *f64s):
if not f64s:
return 0
if hasattr(f64s[0], "__iter__"):
raise Exception(f"add_{param_name}() takes elements as positional arguments, not list")
return self._param_add_f64s(param_name, len(f64s), f64s)
Expand Down
2 changes: 2 additions & 0 deletions tests/py_bindings.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,8 @@ def py_bindings_no_param():


def py_bindings_nodes():
emptygroup = ngl.Group(children=[])
assert emptygroup.add_children() == 0
group = ngl.Group(children=(ngl.Identity(), ngl.Group()))
assert group.add_children(ngl.Group(), ngl.GraphicConfig()) == 0

Expand Down

0 comments on commit f225d5c

Please sign in to comment.