Esempio n. 1
0
    def page(self, text):
        """
        Print text by pages
        """

        cmd = hdtv.options.Get("ui.pager.cmd")
        args = hdtv.options.Get("ui.pager.args")

        pydoc.tempfilepager(text, str(cmd) + " " + str(args))
Esempio n. 2
0
    def page(self, html, end='\n'):
        """
        Print text by pages
        """
        # TODO: Convert HTML to ANSI?
        if not hdtv.options.Get("ui.pager.builtin"):
            cmd = hdtv.options.Get("ui.pager.cmd")
            args = hdtv.options.Get("ui.pager.args")

            pydoc.tempfilepager(html, str(cmd) + " " + str(args))
        else:
            self.pager(html, end)
    def test_tempfilepager(self):
        # tempfilepager does not choke on unicode
        doc = pydoc.render_doc(self.Q)

        output = {}
        def mock_system(cmd):
            filename = cmd.strip()[1:-1]
            self.assertEqual('"' + filename + '"', cmd.strip())
            output['content'] = open(filename).read()
        saved, os.system = os.system, mock_system
        try:
            pydoc.tempfilepager(doc, '')
            self.assertEqual(output['content'], pydoc._encode(doc))
        finally:
            os.system = saved
    def test_tempfilepager(self):
        # tempfilepager does not choke on unicode
        doc = pydoc.render_doc(self.Q)

        output = {}
        def mock_system(cmd):
            filename = cmd.strip()[1:-1]
            self.assertEqual('"' + filename + '"', cmd.strip())
            output['content'] = open(filename).read()
        saved, os.system = os.system, mock_system
        try:
            pydoc.tempfilepager(doc, '')
            self.assertEqual(output['content'], pydoc._encode(doc))
        finally:
            os.system = saved
Esempio n. 5
0
def getpager():
    """Decide what method to use for paging through text."""
    if not hasattr(sys.stdin, "isatty"):
        return plainpager
    if not hasattr(sys.stdout, "isatty"):
        return plainpager
    if not sys.stdin.isatty() or not sys.stdout.isatty():
        return plainpager
    use_pager = os.environ.get('MANPAGER') or os.environ.get('PAGER')
    if use_pager:
        if sys.platform == 'win32':  # pipes completely broken in Windows
            return lambda text: tempfilepager(plain(text), use_pager)
        elif os.environ.get('TERM') in ('dumb', 'emacs'):
            return lambda text: pipepager(plain(text), use_pager)
        else:
            return lambda text: pipepager(text, use_pager)
    if os.environ.get('TERM') in ('dumb', 'emacs'):
        return plainpager
    if sys.platform == 'win32':
        return lambda text: tempfilepager(plain(text), 'more <')
    if hasattr(os, 'system') and os.system('(less) 2>/dev/null') == 0:
        return lambda text: pipepager(text, 'less -X')
Esempio n. 6
0
 def pager(text):
     return pydoc.tempfilepager(pydoc.plain(text), cmd)
Esempio n. 7
0
 def update_event(self, inp=-1):
     self.set_output_val(0, pydoc.tempfilepager(self.input(0),
                                                self.input(1)))