diff --git a/changelogs/fragments/pause-try-except-curses.yaml b/changelogs/fragments/pause-try-except-curses.yaml new file mode 100644 index 0000000000..1e8316f9a0 --- /dev/null +++ b/changelogs/fragments/pause-try-except-curses.yaml @@ -0,0 +1,2 @@ +bugfixes: + - pause - nest try except when importing curses to gracefully fail if curses is not present (https://github.com/ansible/ansible/issues/42004) diff --git a/lib/ansible/plugins/action/pause.py b/lib/ansible/plugins/action/pause.py index abece3adf1..f021f793ad 100644 --- a/lib/ansible/plugins/action/pause.py +++ b/lib/ansible/plugins/action/pause.py @@ -39,9 +39,14 @@ except ImportError: try: import curses - curses.setupterm() - HAS_CURSES = True -except (ImportError, curses.error): + + # Nest the try except since curses.error is not available if curses did not import + try: + curses.setupterm() + HAS_CURSES = True + except curses.error: + HAS_CURSES = False +except ImportError: HAS_CURSES = False if HAS_CURSES: