mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-04-06 18:53:12 +00:00
fixed issues with utf-8 encoding in docs, moved pager to use display class instad of bare prints
This commit is contained in:
@@ -432,21 +432,20 @@ class CLI(object):
|
||||
return result
|
||||
|
||||
|
||||
@staticmethod
|
||||
def pager(text):
|
||||
def pager(self, text):
|
||||
''' find reasonable way to display text '''
|
||||
# this is a much simpler form of what is in pydoc.py
|
||||
if not sys.stdout.isatty():
|
||||
print(text)
|
||||
self.display.display(text)
|
||||
elif 'PAGER' in os.environ:
|
||||
if sys.platform == 'win32':
|
||||
print(text)
|
||||
self.display.display(text)
|
||||
else:
|
||||
CLI.pager_pipe(text, os.environ['PAGER'])
|
||||
self.pager_pipe(text, os.environ['PAGER'])
|
||||
elif subprocess.call('(less --version) 2> /dev/null', shell = True) == 0:
|
||||
CLI.pager_pipe(text, 'less')
|
||||
self.pager_pipe(text, 'less')
|
||||
else:
|
||||
print(text)
|
||||
self.display.display(text)
|
||||
|
||||
@staticmethod
|
||||
def pager_pipe(text, cmd):
|
||||
@@ -455,7 +454,7 @@ class CLI(object):
|
||||
os.environ['LESS'] = CLI.LESS_OPTS
|
||||
try:
|
||||
cmd = subprocess.Popen(cmd, shell=True, stdin=subprocess.PIPE, stdout=sys.stdout)
|
||||
cmd.communicate(input=text)
|
||||
cmd.communicate(input=text.encode(sys.stdout.encoding))
|
||||
except IOError:
|
||||
pass
|
||||
except KeyboardInterrupt:
|
||||
|
||||
@@ -73,7 +73,7 @@ class DocCLI(CLI):
|
||||
for path in paths:
|
||||
self.find_modules(path)
|
||||
|
||||
CLI.pager(self.get_module_list_text())
|
||||
self.pager(self.get_module_list_text())
|
||||
return 0
|
||||
|
||||
if len(self.args) == 0:
|
||||
@@ -125,7 +125,7 @@ class DocCLI(CLI):
|
||||
self.display.vvv(traceback.print_exc())
|
||||
raise AnsibleError("module %s missing documentation (or could not parse documentation): %s\n" % (module, str(e)))
|
||||
|
||||
CLI.pager(text)
|
||||
self.pager(text)
|
||||
return 0
|
||||
|
||||
def find_modules(self, path):
|
||||
|
||||
Reference in New Issue
Block a user