diff --git a/graphviz/_tools.py b/graphviz/_tools.py index 97c7dbf0a6..59c50bbc40 100644 --- a/graphviz/_tools.py +++ b/graphviz/_tools.py @@ -129,7 +129,7 @@ def deprecate_positional_args(*, https://docs.python.org/3/library/exceptions.html#DeprecationWarning https://docs.python.org/3/library/exceptions.html#PendingDeprecationWarning """ - assert supported_number > 0, f'supported_number at least one: {supported_number!r}' + assert supported_number >= 0, f'supported_number => 0: {supported_number!r}' if category is None: def nulldecorator(func): diff --git a/graphviz/dot.py b/graphviz/dot.py index 70f90c0043..8b7bad0ddb 100644 --- a/graphviz/dot.py +++ b/graphviz/dot.py @@ -143,7 +143,7 @@ def _copy_kwargs(self, **kwargs): body=list(self.body), strict=self.strict) - @_tools.deprecate_positional_args(supported_number=1) + @_tools.deprecate_positional_args(supported_number=0, ignore_arg='self') def clear(self, keep_attrs: bool = False) -> None: """Reset content to an empty body, clear graph/node/egde_attr mappings. @@ -155,7 +155,7 @@ def clear(self, keep_attrs: bool = False) -> None: a.clear() self.body.clear() - @_tools.deprecate_positional_args(supported_number=1) + @_tools.deprecate_positional_args(supported_number=0, ignore_arg='self') def __iter__(self, subgraph: bool = False) -> typing.Iterator[str]: r"""Yield the DOT source code line by line (as graph or subgraph). @@ -181,7 +181,7 @@ def __iter__(self, subgraph: bool = False) -> typing.Iterator[str]: yield self._tail - @_tools.deprecate_positional_args(supported_number=3) + @_tools.deprecate_positional_args(supported_number=2, ignore_arg='self') def node(self, name: str, label: typing.Optional[str] = None, _attributes=None, **attrs) -> None: @@ -203,7 +203,7 @@ def node(self, name: str, line = self._node(name, attr_list) self.body.append(line) - @_tools.deprecate_positional_args(supported_number=4) + @_tools.deprecate_positional_args(supported_number=3, ignore_arg='self') def edge(self, tail_name: str, head_name: str, label: typing.Optional[str] = None, _attributes=None, **attrs) -> None: @@ -254,7 +254,7 @@ def edges(self, tail_head_iter) -> None: self.body += [edge(tail=quote(t), head=quote(h)) for t, h in tail_head_iter] - @_tools.deprecate_positional_args(supported_number=2) + @_tools.deprecate_positional_args(supported_number=1, ignore_arg='self') def attr(self, kw: typing.Optional[str] = None, _attributes=None, **attrs) -> None: """Add a general or graph/node/edge attribute statement. @@ -278,7 +278,7 @@ def attr(self, kw: typing.Optional[str] = None, line = self._attr(kw, attr_list) self.body.append(line) - @_tools.deprecate_positional_args(supported_number=2) + @_tools.deprecate_positional_args(supported_number=1, ignore_arg='self') def subgraph(self, graph=None, name: typing.Optional[str] = None, comment: typing.Optional[str] = None, diff --git a/graphviz/graphs.py b/graphviz/graphs.py index 9018e57c51..ffca995d06 100644 --- a/graphviz/graphs.py +++ b/graphviz/graphs.py @@ -49,7 +49,7 @@ class BaseGraph(dot.Dot, unflattening.Unflatten): """Dot language creation and source code rendering.""" - @_tools.deprecate_positional_args(supported_number=2) + @_tools.deprecate_positional_args(supported_number=1, ignore_arg='self') def __init__(self, name: typing.Optional[str] = None, comment: typing.Optional[str] = None, filename=None, directory=None, diff --git a/graphviz/piping.py b/graphviz/piping.py index 71767c23d2..c92835b9db 100644 --- a/graphviz/piping.py +++ b/graphviz/piping.py @@ -109,7 +109,7 @@ def pipe(self, engine=engine, encoding=encoding) - @_tools.deprecate_positional_args(supported_number=2) + @_tools.deprecate_positional_args(supported_number=1, ignore_arg='self') def _pipe_legacy(self, format: typing.Optional[str] = None, renderer: typing.Optional[str] = None, diff --git a/graphviz/rendering.py b/graphviz/rendering.py index 191ce330bb..d63f086264 100644 --- a/graphviz/rendering.py +++ b/graphviz/rendering.py @@ -18,7 +18,7 @@ class Render(saving.Save, backend.Render, backend.View): """Write source lines to file and render with Graphviz.""" - @_tools.deprecate_positional_args(supported_number=2) + @_tools.deprecate_positional_args(supported_number=1, ignore_arg='self') def render(self, filename: typing.Union[os.PathLike, str, None] = None, directory: typing.Union[os.PathLike, str, None] = None, @@ -147,7 +147,7 @@ def _view(self, filepath: typing.Union[os.PathLike, str], *, f' on {backend.viewing.PLATFORM!r} platform') view_method(filepath, quiet=quiet) - @_tools.deprecate_positional_args(supported_number=2) + @_tools.deprecate_positional_args(supported_number=1, ignore_arg='self') def view(self, filename: typing.Union[os.PathLike, str, None] = None, directory: typing.Union[os.PathLike, str, None] = None, diff --git a/graphviz/unflattening.py b/graphviz/unflattening.py index c87cc7db8b..06565bfde8 100644 --- a/graphviz/unflattening.py +++ b/graphviz/unflattening.py @@ -14,7 +14,7 @@ class Unflatten(encoding.Encoding, base.Base, backend.Unflatten): """Pipe source through the Graphviz *unflatten* preprocessor.""" - @_tools.deprecate_positional_args(supported_number=1) + @_tools.deprecate_positional_args(supported_number=0, ignore_arg='self') def unflatten(self, stagger: typing.Optional[int] = None, fanout: bool = False,