mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-27 07:01:22 -07:00
fixed issues with utf-8 encoding in docs, moved pager to use display class instad of bare prints
This commit is contained in:
parent
3b75f3d26a
commit
92e2f54228
2 changed files with 9 additions and 10 deletions
|
@ -432,21 +432,20 @@ class CLI(object):
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
@staticmethod
|
def pager(self, text):
|
||||||
def pager(text):
|
|
||||||
''' find reasonable way to display text '''
|
''' find reasonable way to display text '''
|
||||||
# this is a much simpler form of what is in pydoc.py
|
# this is a much simpler form of what is in pydoc.py
|
||||||
if not sys.stdout.isatty():
|
if not sys.stdout.isatty():
|
||||||
print(text)
|
self.display.display(text)
|
||||||
elif 'PAGER' in os.environ:
|
elif 'PAGER' in os.environ:
|
||||||
if sys.platform == 'win32':
|
if sys.platform == 'win32':
|
||||||
print(text)
|
self.display.display(text)
|
||||||
else:
|
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:
|
elif subprocess.call('(less --version) 2> /dev/null', shell = True) == 0:
|
||||||
CLI.pager_pipe(text, 'less')
|
self.pager_pipe(text, 'less')
|
||||||
else:
|
else:
|
||||||
print(text)
|
self.display.display(text)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def pager_pipe(text, cmd):
|
def pager_pipe(text, cmd):
|
||||||
|
@ -455,7 +454,7 @@ class CLI(object):
|
||||||
os.environ['LESS'] = CLI.LESS_OPTS
|
os.environ['LESS'] = CLI.LESS_OPTS
|
||||||
try:
|
try:
|
||||||
cmd = subprocess.Popen(cmd, shell=True, stdin=subprocess.PIPE, stdout=sys.stdout)
|
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:
|
except IOError:
|
||||||
pass
|
pass
|
||||||
except KeyboardInterrupt:
|
except KeyboardInterrupt:
|
||||||
|
|
|
@ -73,7 +73,7 @@ class DocCLI(CLI):
|
||||||
for path in paths:
|
for path in paths:
|
||||||
self.find_modules(path)
|
self.find_modules(path)
|
||||||
|
|
||||||
CLI.pager(self.get_module_list_text())
|
self.pager(self.get_module_list_text())
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
if len(self.args) == 0:
|
if len(self.args) == 0:
|
||||||
|
@ -125,7 +125,7 @@ class DocCLI(CLI):
|
||||||
self.display.vvv(traceback.print_exc())
|
self.display.vvv(traceback.print_exc())
|
||||||
raise AnsibleError("module %s missing documentation (or could not parse documentation): %s\n" % (module, str(e)))
|
raise AnsibleError("module %s missing documentation (or could not parse documentation): %s\n" % (module, str(e)))
|
||||||
|
|
||||||
CLI.pager(text)
|
self.pager(text)
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
def find_modules(self, path):
|
def find_modules(self, path):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue