コード例 #1
0
ファイル: bbslist.py プロジェクト: jonny290/yos-x84
def dummy_pager():
    """
    Provide interface without pager/lightbar.
    """
    # pylint: disable=R0912
    #        Too many branches
    from x84.bbs import getterminal, echo, getch, Ansi
    term = getterminal()
    msg_header = u'// bbS liSt'
    hindent = 2
    vindent = 5
    nlines = 0
    bbslist = get_bbslist()
    echo(u'\r\n' + msg_header.center(term.width).rstrip() + '\r\n\r\n')
    if 0 == len(bbslist):
        echo(u'\r\n\r\nNO BBSS. a%sdd ONE, q%sUit' % (
            term.bold_blue(':'), term.bold_blue(':')))
        while True:
            inp = getch()
            if inp in (u'q', 'Q'):
                return  # quit
            elif inp in (u'a', 'A'):
                process_keystroke(inp)
                break
    while True:
        for (key, line) in bbslist:
            if key is None:  # bbs software
                echo(term.blue_reverse(line.rstrip()) + '\r\n')
                nlines += 1
            else:
                wrapd = Ansi(line).wrap(term.width - hindent)
                echo(term.bold_blue(key) + term.bold_black('. '))
                for num, line in enumerate(wrapd.split('\r\n')):
                    if num != 0:
                        echo(' ' * hindent)
                    echo(line + '\r\n')
                    nlines += 1
            if nlines and (nlines % (term.height - vindent) == 0):
                if more(True):
                    return
        # one final prompt before exit
        if more(False):
            return
    return
コード例 #2
0
ファイル: bbslist.py プロジェクト: jonny290/yos-x84
def dummy_pager():
    """
    Provide interface without pager/lightbar.
    """
    # pylint: disable=R0912
    #        Too many branches
    from x84.bbs import getterminal, echo, getch, Ansi
    term = getterminal()
    msg_header = u'// bbS liSt'
    hindent = 2
    vindent = 5
    nlines = 0
    bbslist = get_bbslist()
    echo(u'\r\n' + msg_header.center(term.width).rstrip() + '\r\n\r\n')
    if 0 == len(bbslist):
        echo(u'\r\n\r\nNO BBSS. a%sdd ONE, q%sUit' %
             (term.bold_blue(':'), term.bold_blue(':')))
        while True:
            inp = getch()
            if inp in (u'q', 'Q'):
                return  # quit
            elif inp in (u'a', 'A'):
                process_keystroke(inp)
                break
    while True:
        for (key, line) in bbslist:
            if key is None:  # bbs software
                echo(term.blue_reverse(line.rstrip()) + '\r\n')
                nlines += 1
            else:
                wrapd = Ansi(line).wrap(term.width - hindent)
                echo(term.bold_blue(key) + term.bold_black('. '))
                for num, line in enumerate(wrapd.split('\r\n')):
                    if num != 0:
                        echo(' ' * hindent)
                    echo(line + '\r\n')
                    nlines += 1
            if nlines and (nlines % (term.height - vindent) == 0):
                if more(True):
                    return
        # one final prompt before exit
        if more(False):
            return
    return