From 702e82da6bd12dfd409aec2e6938240a47339cd4 Mon Sep 17 00:00:00 2001 From: Niranjan Date: Thu, 1 Oct 2026 22:36:39 +0530 Subject: [PATCH] fix(man_pages): correct broken Windows guard in is_available() The guard compared the built-in function os.system to the string nt, which is always False. Replace with sys.platform == win32 and add import sys. Fixes #1898 --- httpie/output/ui/man_pages.py | 3 ++- tests/test_issue_1898_regression.py | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 tests/test_issue_1898_regression.py diff --git a/httpie/output/ui/man_pages.py b/httpie/output/ui/man_pages.py index 0ba4974578..6a83f0d23d 100644 --- a/httpie/output/ui/man_pages.py +++ b/httpie/output/ui/man_pages.py @@ -1,6 +1,7 @@ """Logic for checking and displaying man pages.""" import subprocess +import sys import os from httpie.context import Environment @@ -18,7 +19,7 @@ def is_available(program: str) -> bool: Check whether `program`'s man pages are available on this system. """ - if NO_MAN_PAGES or os.system == 'nt': + if NO_MAN_PAGES or sys.platform == 'win32': return False try: process = subprocess.run( diff --git a/tests/test_issue_1898_regression.py b/tests/test_issue_1898_regression.py new file mode 100644 index 0000000000..a97c7fe22c --- /dev/null +++ b/tests/test_issue_1898_regression.py @@ -0,0 +1,6 @@ + + +def test_is_available_windows_guard_uses_sys_platform(): + from httpie.output.ui.man_pages import is_available + import sys + assert sys.platform != 'win32' or is_available('man') == False