def execute(self, args):
     # pylint: disable=unpacking-non-sequence
     ext_loader = ExtensionLoader(packages=settings.extension_packages, paths=settings.extension_paths)
     extension = ext_loader.get_extension_class(args.name)
     out = StringIO()
     term_width, term_height = get_terminal_size()
     format_extension(extension, out, term_width)
     text = out.getvalue()
     pager = get_pager()
     if len(text.split('\n')) > term_height and pager:
         try:
             sp = subprocess.Popen(pager, stdin=subprocess.PIPE)
             sp.communicate(text)
         except OSError:
             self.logger.warning('Could not use PAGER "{}"'.format(pager))
             sys.stdout.write(text)
     else:
         sys.stdout.write(text)
Exemple #2
0
 def execute(self, args):
     # pylint: disable=unpacking-non-sequence
     ext_loader = ExtensionLoader(packages=settings.extension_packages,
                                  paths=settings.extension_paths)
     extension = ext_loader.get_extension_class(args.name)
     out = StringIO()
     term_width, term_height = get_terminal_size()
     format_extension(extension, out, term_width)
     text = out.getvalue()
     pager = get_pager()
     if len(text.split('\n')) > term_height and pager:
         try:
             sp = subprocess.Popen(pager, stdin=subprocess.PIPE)
             sp.communicate(text)
         except OSError:
             self.logger.warning('Could not use PAGER "{}"'.format(pager))
             sys.stdout.write(text)
     else:
         sys.stdout.write(text)
Exemple #3
0
 def get_text_width(self):
     if not self._text_width:
         self._text_width, _ = get_terminal_size()  # pylint: disable=unpacking-non-sequence
     return self._text_width