Skip to content

Commit

Permalink
Merge branch 'main' into ruff_ANN
Browse files Browse the repository at this point in the history
  • Loading branch information
shatakshiiii committed May 20, 2024
2 parents c34e34f + 02795a1 commit db9f6ea
Show file tree
Hide file tree
Showing 81 changed files with 453 additions and 158 deletions.
6 changes: 5 additions & 1 deletion docs/_ext/regenerate_docs.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,19 @@
from copy import copy
from pathlib import Path
from re import match
from typing import TYPE_CHECKING

import mkdocs_gen_files

from ansible_navigator.configuration_subsystem import Constants as C
from ansible_navigator.configuration_subsystem import NavigatorConfiguration
from ansible_navigator.configuration_subsystem.definitions import SettingsEntry
from ansible_navigator.utils.functions import oxfordcomma


if TYPE_CHECKING:
from ansible_navigator.configuration_subsystem.definitions import SettingsEntry


logger = logging.getLogger(__name__)

DOCS_DIR = Path(__file__).parent.resolve()
Expand Down
3 changes: 0 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -339,9 +339,6 @@ ignore = [
'S607', # Starting a process with a partial executable path
'SLF001', # Private member accessed: `_ui`
'T201', # `print` found
'TCH001', # Move application import `ansible_navigator.configuration_subsystem.definitions.SettingsEntry` into a type-checking block
'TCH002', # Move third-party import `ansible_runner.Runner` into a type-checking block
'TCH003', # Move standard library import `re.Pattern` into a type-checking block
'TD001', # Invalid TODO tag: `FIXME`
'TD002', # Missing author in TODO
'TD003' # Missing issue link on the line following this TODO
Expand Down
9 changes: 7 additions & 2 deletions src/ansible_navigator/action_base.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,13 @@
import logging

from copy import deepcopy
from re import Pattern
from typing import TYPE_CHECKING

from ansible_navigator.actions import kegexes

from .action_defs import RunStdoutReturn
from .app_public import AppPublic
from .configuration_subsystem import Constants as C
from .configuration_subsystem.definitions import ApplicationConfiguration
from .initialization import parse_and_update
from .steps import Steps
from .ui_framework import Interaction
Expand All @@ -24,6 +23,12 @@
from .utils.definitions import LogMessage


if TYPE_CHECKING:
from re import Pattern

from .configuration_subsystem.definitions import ApplicationConfiguration


class ActionBase:
# pylint: disable=too-many-instance-attributes
"""Base class for actions."""
Expand Down
16 changes: 10 additions & 6 deletions src/ansible_navigator/actions/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,21 @@

from __future__ import annotations

from collections.abc import Callable
from typing import TYPE_CHECKING
from typing import Any

from ansible_navigator.action_defs import RunStdoutReturn
from ansible_navigator.app_public import AppPublic
from ansible_navigator.configuration_subsystem.definitions import ApplicationConfiguration
from ansible_navigator.ui_framework import Interaction

from . import _actions as actions


if TYPE_CHECKING:
from collections.abc import Callable

from ansible_navigator.action_defs import RunStdoutReturn
from ansible_navigator.app_public import AppPublic
from ansible_navigator.configuration_subsystem.definitions import ApplicationConfiguration
from ansible_navigator.ui_framework import Interaction


get: Callable[[str], Any] = actions.get_factory(__package__)

names = actions.names_factory(__package__)
Expand Down
11 changes: 8 additions & 3 deletions src/ansible_navigator/actions/_actions.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,20 @@
import os
import re

from collections.abc import Callable
from collections.abc import Generator
from typing import TYPE_CHECKING
from typing import Any
from typing import NamedTuple

from ansible_navigator.action_defs import RunStdoutReturn
from ansible_navigator.ui_framework import error_notification


if TYPE_CHECKING:
from collections.abc import Callable
from collections.abc import Generator

from ansible_navigator.action_defs import RunStdoutReturn


logger = logging.getLogger(__name__)


Expand Down
8 changes: 6 additions & 2 deletions src/ansible_navigator/actions/collections.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,11 @@
from copy import deepcopy
from json.decoder import JSONDecodeError
from pathlib import Path
from typing import TYPE_CHECKING
from typing import Any

from ansible_navigator.action_base import ActionBase
from ansible_navigator.action_defs import RunStdoutReturn
from ansible_navigator.app_public import AppPublic
from ansible_navigator.configuration_subsystem.definitions import ApplicationConfiguration
from ansible_navigator.content_defs import ContentFormat
from ansible_navigator.runner import Command
from ansible_navigator.steps import Step
Expand All @@ -35,6 +34,11 @@
from . import run_action


if TYPE_CHECKING:
from ansible_navigator.app_public import AppPublic
from ansible_navigator.configuration_subsystem.definitions import ApplicationConfiguration


def color_menu(colno: int, colname: str, entry: dict[str, Any]) -> tuple[int, int]:
"""Provide a color for a collections menu entry in one column.
Expand Down
8 changes: 6 additions & 2 deletions src/ansible_navigator/actions/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,11 @@
import shlex
import shutil

from typing import TYPE_CHECKING
from typing import Any

from ansible_navigator.action_base import ActionBase
from ansible_navigator.action_defs import RunStdoutReturn
from ansible_navigator.app_public import AppPublic
from ansible_navigator.configuration_subsystem.definitions import ApplicationConfiguration
from ansible_navigator.runner import AnsibleConfig
from ansible_navigator.runner import Command
from ansible_navigator.steps import Step
Expand All @@ -30,6 +29,11 @@
from . import run_action


if TYPE_CHECKING:
from ansible_navigator.app_public import AppPublic
from ansible_navigator.configuration_subsystem.definitions import ApplicationConfiguration


def color_menu(colno: int, colname: str, entry: dict[str, Any]) -> tuple[int, int]:
"""Provide a color for a collections menu entry in one column.
Expand Down
8 changes: 6 additions & 2 deletions src/ansible_navigator/actions/doc.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,12 @@
import shlex
import shutil

from typing import TYPE_CHECKING
from typing import Any

from ansible_navigator.action_base import ActionBase
from ansible_navigator.action_defs import RunStdoutReturn
from ansible_navigator.app_public import AppPublic
from ansible_navigator.configuration_subsystem import Constants as C
from ansible_navigator.configuration_subsystem.definitions import ApplicationConfiguration
from ansible_navigator.runner import AnsibleDoc
from ansible_navigator.runner import Command
from ansible_navigator.ui_framework import CursesLine
Expand All @@ -25,6 +24,11 @@
from . import _actions as actions


if TYPE_CHECKING:
from ansible_navigator.app_public import AppPublic
from ansible_navigator.configuration_subsystem.definitions import ApplicationConfiguration


@actions.register
class Action(ActionBase):
"""Doc subcommand implementation."""
Expand Down
8 changes: 6 additions & 2 deletions src/ansible_navigator/actions/images.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,12 @@

from copy import deepcopy
from functools import partial
from typing import TYPE_CHECKING
from typing import Any

from ansible_navigator.action_base import ActionBase
from ansible_navigator.action_defs import RunStdoutReturn
from ansible_navigator.app_public import AppPublic
from ansible_navigator.configuration_subsystem import Constants
from ansible_navigator.configuration_subsystem.definitions import ApplicationConfiguration
from ansible_navigator.content_defs import ContentFormat
from ansible_navigator.image_manager import inspect_all
from ansible_navigator.runner import Command
Expand All @@ -31,6 +30,11 @@
from . import run_action


if TYPE_CHECKING:
from ansible_navigator.app_public import AppPublic
from ansible_navigator.configuration_subsystem.definitions import ApplicationConfiguration


def filter_content_keys(obj: dict[Any, Any]) -> dict[Any, Any]:
"""Filter out some keys when showing image content.
Expand Down
8 changes: 6 additions & 2 deletions src/ansible_navigator/actions/inventory.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,11 @@
import shutil

from pathlib import Path
from typing import TYPE_CHECKING
from typing import Any

from ansible_navigator.action_base import ActionBase
from ansible_navigator.action_defs import RunStdoutReturn
from ansible_navigator.app_public import AppPublic
from ansible_navigator.configuration_subsystem.definitions import ApplicationConfiguration
from ansible_navigator.content_defs import ContentFormat
from ansible_navigator.runner import AnsibleInventory
from ansible_navigator.runner import Command
Expand All @@ -31,6 +30,11 @@
from . import run_action


if TYPE_CHECKING:
from ansible_navigator.app_public import AppPublic
from ansible_navigator.configuration_subsystem.definitions import ApplicationConfiguration


def color_menu(colno: int, colname: str, entry: dict[str, Any]) -> tuple[int, int]:
"""Provide a color for a inventory menu entry in one column.
Expand Down
8 changes: 6 additions & 2 deletions src/ansible_navigator/actions/lint.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,11 @@
from datetime import datetime
from datetime import timezone
from enum import IntEnum
from typing import TYPE_CHECKING
from typing import Any

from ansible_navigator.action_base import ActionBase
from ansible_navigator.action_defs import RunStdoutReturn
from ansible_navigator.app_public import AppPublic
from ansible_navigator.configuration_subsystem.definitions import ApplicationConfiguration
from ansible_navigator.runner.command import Command
from ansible_navigator.steps import Step
from ansible_navigator.ui_framework import Color
Expand All @@ -49,6 +48,11 @@
from . import run_action


if TYPE_CHECKING:
from ansible_navigator.app_public import AppPublic
from ansible_navigator.configuration_subsystem.definitions import ApplicationConfiguration


class Severity(IntEnum):
"""A mapping from ansible-lint severity to an integer represented internally.
Expand Down
19 changes: 12 additions & 7 deletions src/ansible_navigator/actions/open_file.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,27 +6,32 @@
import logging
import os

from collections.abc import Callable
from pathlib import Path
from re import Pattern
from types import TracebackType
from typing import TYPE_CHECKING
from typing import Any

from ansible_navigator.app_public import AppPublic
from ansible_navigator.configuration_subsystem.definitions import ApplicationConfiguration
from ansible_navigator.content_defs import ContentBase
from ansible_navigator.content_defs import ContentFormat
from ansible_navigator.content_defs import ContentType
from ansible_navigator.content_defs import ContentView
from ansible_navigator.content_defs import SerializationFormat
from ansible_navigator.ui_framework import Interaction
from ansible_navigator.ui_framework import Menu
from ansible_navigator.utils.functions import remove_dbl_un
from ansible_navigator.utils.serialize import serialize_write_temp_file

from . import _actions as actions


if TYPE_CHECKING:
from collections.abc import Callable
from re import Pattern
from types import TracebackType

from ansible_navigator.app_public import AppPublic
from ansible_navigator.configuration_subsystem.definitions import ApplicationConfiguration
from ansible_navigator.ui_framework import Interaction
from ansible_navigator.ui_framework import Menu


class SuspendCurses:
"""Context Manager to temporarily leave curses mode."""

Expand Down
11 changes: 8 additions & 3 deletions src/ansible_navigator/actions/run.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,19 +12,17 @@
import time
import uuid

from collections.abc import Callable
from math import floor
from operator import itemgetter
from pathlib import Path
from queue import Queue
from typing import TYPE_CHECKING
from typing import Any

from ansible_navigator.action_base import ActionBase
from ansible_navigator.action_defs import RunStdoutReturn
from ansible_navigator.app_public import AppPublic
from ansible_navigator.configuration_subsystem import to_effective
from ansible_navigator.configuration_subsystem import to_sources
from ansible_navigator.configuration_subsystem.definitions import ApplicationConfiguration
from ansible_navigator.content_defs import ContentView
from ansible_navigator.content_defs import SerializationFormat
from ansible_navigator.runner import CommandAsync
Expand All @@ -51,6 +49,13 @@
from .stdout import Action as stdout_action


if TYPE_CHECKING:
from collections.abc import Callable

from ansible_navigator.app_public import AppPublic
from ansible_navigator.configuration_subsystem.definitions import ApplicationConfiguration


RESULT_TO_COLOR = [
("(?i)^failed$", 9),
("(?i)^ok$", 10),
Expand Down
6 changes: 5 additions & 1 deletion src/ansible_navigator/actions/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@

from dataclasses import asdict
from functools import partial
from typing import TYPE_CHECKING
from typing import Any

from ansible_navigator.action_base import ActionBase
from ansible_navigator.action_defs import RunStdoutReturn
from ansible_navigator.app_public import AppPublic
from ansible_navigator.configuration_subsystem import PresentableSettingsEntries
from ansible_navigator.configuration_subsystem import PresentableSettingsEntry
from ansible_navigator.configuration_subsystem import to_effective
Expand All @@ -33,6 +33,10 @@
from . import run_action


if TYPE_CHECKING:
from ansible_navigator.app_public import AppPublic


def color_menu(colno: int, colname: str, entry: PresentableSettingsEntry) -> tuple[int, int]:
"""Color the menu.
Expand Down
8 changes: 6 additions & 2 deletions src/ansible_navigator/actions/template.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,9 @@
import html

from collections.abc import Mapping
from typing import TYPE_CHECKING

from ansible_navigator.action_base import ActionBase
from ansible_navigator.app_public import AppPublic
from ansible_navigator.configuration_subsystem.definitions import ApplicationConfiguration
from ansible_navigator.content_defs import ContentFormat
from ansible_navigator.ui_framework import Interaction
from ansible_navigator.ui_framework import warning_notification
Expand All @@ -21,6 +20,11 @@
from . import _actions as actions


if TYPE_CHECKING:
from ansible_navigator.app_public import AppPublic
from ansible_navigator.configuration_subsystem.definitions import ApplicationConfiguration


@actions.register
class Action(ActionBase):
"""Template command implementation."""
Expand Down
Loading

0 comments on commit db9f6ea

Please sign in to comment.