mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
Check pager's executable before subprocess.Popen
Get the value of `PAGER` environment variable in case it's defined, check the executable, if it exists - use a pager, otherwise - print function. Fixes: https://pagure.io/freeipa/issue/7746 Reviewed-By: Christian Heimes <cheimes@redhat.com> Reviewed-By: Rob Crittenden <rcritten@redhat.com>
This commit is contained in:
@@ -49,7 +49,7 @@ import six
|
||||
from six.moves import input
|
||||
|
||||
from ipalib.util import (
|
||||
check_client_configuration, get_terminal_height, open_in_pager
|
||||
check_client_configuration, get_pager, get_terminal_height, open_in_pager
|
||||
)
|
||||
|
||||
if six.PY3:
|
||||
@@ -721,9 +721,11 @@ class help(frontend.Local):
|
||||
self.buffer.append(unicode(string))
|
||||
|
||||
def write(self):
|
||||
if self.buffer_length > get_terminal_height():
|
||||
pager = get_pager()
|
||||
|
||||
if pager and self.buffer_length > get_terminal_height():
|
||||
data = "\n".join(self.buffer).encode("utf-8")
|
||||
open_in_pager(data)
|
||||
open_in_pager(data, pager)
|
||||
else:
|
||||
try:
|
||||
for line in self.buffer:
|
||||
|
||||
Reference in New Issue
Block a user