From d5afe58791079c08bef471485b6d8b749397049d Mon Sep 17 00:00:00 2001 From: Mohamed El Mouctar HAIDARA Date: Mon, 18 Mar 2024 22:03:27 +0100 Subject: [PATCH] fix: type annotations, comments, __init__ --- ansibleplaybookgrapher/__init__.py | 3 ++- ansibleplaybookgrapher/renderer/__init__.py | 6 +++--- ansibleplaybookgrapher/renderer/graphviz/__init__.py | 3 +-- ansibleplaybookgrapher/renderer/mermaid.py | 10 ++++------ 4 files changed, 10 insertions(+), 12 deletions(-) diff --git a/ansibleplaybookgrapher/__init__.py b/ansibleplaybookgrapher/__init__.py index 86e6541d..ccd20efa 100644 --- a/ansibleplaybookgrapher/__init__.py +++ b/ansibleplaybookgrapher/__init__.py @@ -53,7 +53,8 @@ def parse( :param tags: Only add plays and tasks tagged with these values :param skip_tags: Only add plays and tasks whose tags do not match these values :param group_roles_by_name: Group roles by name instead of considering them as separate nodes with different IDs - :return: + :return: Tuple of the list of playbook nodes and the dictionary of the role usages: the key is the role and the + value is the set of plays that use the role. """ playbook_nodes = [] roles_usage: Dict[RoleNode, Set[PlayNode]] = {} diff --git a/ansibleplaybookgrapher/renderer/__init__.py b/ansibleplaybookgrapher/renderer/__init__.py index 4b5d7736..5f32ce9c 100644 --- a/ansibleplaybookgrapher/renderer/__init__.py +++ b/ansibleplaybookgrapher/renderer/__init__.py @@ -13,7 +13,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . from abc import ABC, abstractmethod -from typing import Dict, Optional, Set +from typing import Dict, Optional, Set, List from ansible.utils.display import Display @@ -44,7 +44,7 @@ class Renderer(ABC): def __init__( self, - playbook_nodes: PlaybookNode, + playbook_nodes: List[PlaybookNode], roles_usage: Dict[RoleNode, Set[PlayNode]], ): self.playbook_nodes = playbook_nodes @@ -73,7 +73,7 @@ def render( class PlaybookBuilder(ABC): """ - This the base class to inherit from by the renderer to build a single Playbook in the target format. + This is the base class to inherit from by the renderer to build a single Playbook in the target format. It provides some methods that need to be implemented """ diff --git a/ansibleplaybookgrapher/renderer/graphviz/__init__.py b/ansibleplaybookgrapher/renderer/graphviz/__init__.py index f238cfcf..831897cd 100644 --- a/ansibleplaybookgrapher/renderer/graphviz/__init__.py +++ b/ansibleplaybookgrapher/renderer/graphviz/__init__.py @@ -45,8 +45,7 @@ def __init__( playbook_nodes: List[PlaybookNode], roles_usage: Dict["RoleNode", Set[PlayNode]], ): - self.playbook_nodes = playbook_nodes - self.roles_usage = roles_usage + super().__init__(playbook_nodes, roles_usage) def render( self, diff --git a/ansibleplaybookgrapher/renderer/mermaid.py b/ansibleplaybookgrapher/renderer/mermaid.py index 002c36b5..fb208c87 100644 --- a/ansibleplaybookgrapher/renderer/mermaid.py +++ b/ansibleplaybookgrapher/renderer/mermaid.py @@ -12,6 +12,7 @@ # # You should have received a copy of the GNU General Public License # along with this program. If not, see . + from pathlib import Path from typing import Dict, Set, List @@ -23,9 +24,7 @@ display = Display() # Default directive when rendering the graph. -# More info at -# https://mermaid.js.org/config/directives.html -# +# More info at https://mermaid.js.org/config/directives.html DEFAULT_DIRECTIVE = '%%{ init: { "flowchart": { "curve": "bumpX" } } }%%' DEFAULT_ORIENTATION = "LR" # Left to right @@ -36,8 +35,7 @@ def __init__( playbook_nodes: List[PlaybookNode], roles_usage: Dict["RoleNode", Set[PlayNode]], ): - self.playbook_nodes = playbook_nodes - self.roles_usage = roles_usage + super().__init__(playbook_nodes, roles_usage) def render( self, @@ -106,7 +104,7 @@ def render( "The --view option is not supported yet by the mermaid renderer" ) - return final_output_path_file + return str(final_output_path_file) class MermaidFlowChartPlaybookBuilder(PlaybookBuilder):