python类Text()的实例源码

keymap_test.py 文件源码 项目:stig 作者: rndusr 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def test_abort_chain_with_mapped_key(self):
        self.km.bind('alt-1 alt-2 alt-3', 'foo')
        self.km.bind('alt-x', 'bar')

        self.widget.keypress((80,), 'alt-1')
        self.assert_status(keys_given=('alt-1',),
                           widget_text='Original Text',
                           active_keychains=((('alt-1', 'alt-2', 'alt-3'), 'foo'),))

        # Abort the started chain
        self.widget.keypress((80,), 'alt-x')
        self.assert_status(keys_given=(),
                           widget_text='Original Text',
                           active_keychains=())

        # Mapped single-key evaluation works again
        self.widget.keypress((80,), 'alt-x')
        self.assert_status(keys_given=(),
                           widget_text='bar1',
                           active_keychains=())
keymap_test.py 文件源码 项目:stig 作者: rndusr 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def test_abort_chain_with_builtin_key(self):
        self.km.bind('alt-1 alt-2 alt-3', 'foo')

        self.widget.keypress((80,), 'alt-1')
        self.assert_status(keys_given=('alt-1',),
                           widget_text='Original Text',
                           active_keychains=((('alt-1', 'alt-2', 'alt-3'), 'foo'),))

        # This would usually append 'x' to the Edit widget text, but we want it
        # to abort the started chain instead.
        self.widget.keypress((80,), 'x')
        self.assert_status(keys_given=(),
                           widget_text='Original Text',
                           active_keychains=())

        # Now we can change the text again
        self.widget.keypress((80,), 'x')
        self.assert_status(keys_given=(),
                           widget_text='Original Textx',
                           active_keychains=())
infobar.py 文件源码 项目:stig 作者: rndusr 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def __init__(self):
        self._text_up = urwid.Text('', align='right')
        self._text_up_limit = urwid.Text('')
        self._text_dn = urwid.Text('', align='right')
        self._text_dn_limit = urwid.Text('')

        spacer = urwid.AttrMap(urwid.SolidFill(' '), 'bottombar')
        self._spacer_canvas = spacer.render((self._SPACER_WIDTH, 1))

        def mkattr(text, attrsname):
            return urwid.AttrMap(urwid.Padding(text), attrsname)

        self._attr_up = mkattr(self._text_up, 'bottombar.bandwidth.up')
        self._attr_up_limit = mkattr(self._text_up_limit, 'bottombar.bandwidth.up')
        self._attr_dn = mkattr(self._text_dn, 'bottombar.bandwidth.down')
        self._attr_dn_limit = mkattr(self._text_dn_limit, 'bottombar.bandwidth.down')

        self._up_limit_width = 0
        self._dn_limit_width = 0
        self._connected = False

        srvapi.status.on_update(self._update_current_rates)
        srvapi.settings.on_update(self._update_rate_limits)
misc.py 文件源码 项目:stig 作者: rndusr 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def display_help(self, topics, lines):
        import urwid
        from ...tui.scroll import (Scrollable, ScrollBar)

        if hasattr(self, 'title'):
            titlew = make_tab_title_widget(str(self.title),
                                           attr_unfocused='tabs.help.unfocused',
                                           attr_focused='tabs.help.focused')
        else:
            titlew = make_tab_title_widget(','.join(topics),
                                           attr_unfocused='tabs.help.unfocused',
                                           attr_focused='tabs.help.focused')

        textw = urwid.AttrMap(Scrollable(urwid.Text('\n'.join(lines))), 'helptext')
        contentw = urwid.AttrMap(ScrollBar(textw), 'scrollbar')
        self.tui.tabs.load(titlew, contentw)
command.py 文件源码 项目:screeps_console 作者: screepers 项目源码 文件源码 阅读 28 收藏 0 点赞 0 评论 0
def console(self, comp):
        helpmessage = 'Control console output. `console quiet` to suppress console output and `console reset` to turn it back on.'
        userInput = comp.edit
        user_text = userInput.get_edit_text()
        user_command_split = user_text.split(' ')

        if len(user_command_split) < 2:
            comp.listwalker.append(urwid.Text(('logged_response', helpmessage)))
            return False

        command = user_command_split[1]

        if command == 'quiet':
            comp.consolemonitor.quiet = True
            comp.listwalker.append(urwid.Text(('logged_response', 'Limiting display to user interactions only.')))
        elif command == 'reset' or command == 'verbose':
            comp.consolemonitor.quiet = False
            comp.listwalker.append(urwid.Text(('logged_response', 'Displaying all console output.')))
        else:
            comp.listwalker.append(urwid.Text(('logged_response', helpmessage)))
command.py 文件源码 项目:screeps_console 作者: screepers 项目源码 文件源码 阅读 29 收藏 0 点赞 0 评论 0
def list(self, comp):
        command_list = ''
        aliases = list(comp.aliases)
        builtin_list = [method for method in dir(self) if callable(getattr(self, method))]
        commands = builtin_list

        for alias in aliases:
            alias_real = comp.aliases[alias]
            if alias_real not in builtin_list:
                commands.append(alias)

        commands.sort()
        commands.reverse()
        for builtin_command in commands:
            if builtin_command != 'turtle' and not builtin_command.startswith('__'):
                command_list = builtin_command + '  ' + command_list

        comp.listwalker.append(urwid.Text(('logged_response', command_list)))
        return
UI.py 文件源码 项目:Drogo 作者: csrgxtu 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def __init__(self, title, command_caption='Command:  (Tab to switch focus to upper frame, where you can scroll text)', cmd_cb=None, max_size=1000):
        self.header=urwid.Text(title)
        self.model=urwid.SimpleListWalker([])
        self.body=ListView(self.model, lambda: self._update_focus(False), max_size=max_size )
        self.input=Input(lambda: self._update_focus(True))
        foot=urwid.Pile([urwid.AttrMap(urwid.Text(command_caption), 'reversed'),
                        urwid.AttrMap(self.input,'normal')])
        urwid.Frame.__init__(self,
                             urwid.AttrWrap(self.body, 'normal'),
                             urwid.AttrWrap(self.header, 'reversed'),
                             foot)
        self.set_focus_path(['footer',1])
        self._focus=True
        urwid.connect_signal(self.input,'line_entered',self.on_line_entered)
        self._cmd=cmd_cb
        self._output_styles=[s[0] for s in self.PALLETE]
        self.eloop=None
UI.py 文件源码 项目:Drogo 作者: csrgxtu 项目源码 文件源码 阅读 28 收藏 0 点赞 0 评论 0
def __init__(self, title, command_caption='Command:  (Tab to switch focus to upper frame, where you can scroll text)', cmd_cb=None, max_size=1000):
        self.header=urwid.Text(title)
        self.model=urwid.SimpleListWalker([])
        self.body=ListView(self.model, lambda: self._update_focus(False), max_size=max_size )
        self.input=Input(lambda: self._update_focus(True))
        foot=urwid.Pile([urwid.AttrMap(urwid.Text(command_caption), 'reversed'),
                        urwid.AttrMap(self.input,'normal')])
        urwid.Frame.__init__(self,
                             urwid.AttrWrap(self.body, 'normal'),
                             urwid.AttrWrap(self.header, 'reversed'),
                             foot)
        self.set_focus_path(['footer',1])
        self._focus=True
        urwid.connect_signal(self.input,'line_entered',self.on_line_entered)
        self._cmd=cmd_cb
        self._output_styles=[s[0] for s in self.PALLETE]
        self.eloop=None
ColumnHeadings.py 文件源码 项目:memsql-top 作者: memsql 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def __init__(self, column_meta):
        self.column_meta = column_meta
        self.columns = OrderedDict()
        columns = []
        for name, meta in self.column_meta.columns.items():
            contents = name
            if meta.sort_key:
                contents = [name, ' ', ('head_key', "(%s)" % meta.sort_key.upper())]

            contents = urwid.Text(contents, wrap="clip")
            contents = SortableColumn(contents, 'head')
            self.columns[name] = contents
            if meta.fixed_width:
                assert (contents.original_widget.pack()[0] <=
                        meta.display_width())
                columns.append((meta.display_width(), contents))
            else:
                columns.append(("weight", meta.display_weight(), contents))
        self.sort_column = column_meta.default_sort_key
        self.columns[self.sort_column].update_sort_column(True)
        super(ColumnHeadings, self).__init__(columns, dividechars=1)
ResourceMonitor.py 文件源码 项目:memsql-top 作者: memsql 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def __init__(self, num_cores, max_mem):
        self.cpu_utilbar = urwid.ProgressBar('resource_bar_empty',
                                             'resource_bar', done=num_cores)
        self.mem_utilbar = urwid.ProgressBar('resource_bar_empty',
                                             'resource_bar', done=max_mem)

        super(ResourceMonitor, self).__init__(urwid.Pile([
            urwid.Columns([
                urwid.Text("CPU Util", align="right"),
                self.cpu_utilbar,
                urwid.Divider(),
                urwid.Text("Memory Capacity", align="right"),
                self.mem_utilbar
            ]),
#            urwid.Columns([
#                urwid.Text("CPU Sched Latency"),
#                urwid.ProgressBar('resource_bar_empty', 'resource_bar'),
#                urwid.Divider(),
#                urwid.Text("Memory Paging"),
#                urwid.ProgressBar('resource_bar_empty', 'resource_bar'),
#            ])
        ]))
main.py 文件源码 项目:bbj 作者: desvox 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def set_escape_key(self, button, args):
        mode = args[0]
        widget = OptionsMenu(
            urwid.ListBox(urwid.SimpleFocusListWalker([
                urwid.Text("Press Enter when done"),
                urwid.AttrMap(KeyPrompt(
                    self.prefs["edit_escapes"][mode],
                    self.save_escape_key,
                    [mode]
                ), "opt_prompt")])),
            title="Set key for " + mode,
            **frame_theme()
        )

        app.loop.widget = urwid.Overlay(
            urwid.AttrMap(widget, "30"),
            app.loop.widget,
            align=("relative", 50),
            valign=("relative", 50),
            width=25, height=5
        )
swarmify2.py 文件源码 项目:swarm 作者: 3drobotics 项目源码 文件源码 阅读 34 收藏 0 点赞 0 评论 0
def menu(title, SSID):
    body = [urwid.Text(title), urwid.Divider()]
    options = []
    for c in SSID:
        button = urwid.Button("[ ] " + c)
        options.append(button)
        #if SSID_DICT[c] == True:
        #    button.set_label(u"DH")
        urwid.connect_signal(button, 'click', item_chosen, c)
        body.append(urwid.AttrMap(button, None, focus_map='reversed'))

    swarmify_button = urwid.Button("Swarmify")
    options.append(swarmify_button)
    urwid.connect_signal(swarmify_button, 'click', swarm_chosen, c)
    body.append(urwid.AttrMap(swarmify_button, None, focus_map='reversed'))

    return urwid.ListBox(urwid.SimpleFocusListWalker(body))
swarmify2.py 文件源码 项目:swarm 作者: 3drobotics 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def item_chosen(button, choice):
    if SSID_DICT[choice]:
        button.set_label(u"[ ] " + button.get_label()[4:])
        SSID_DICT[choice] = False
    else:
        button.set_label(u"[*] " + button.get_label()[4:])
        SSID_DICT[choice] = True



    ##response = urwid.Text([u'You chose ', str(SSID_DICT[choice]), u'\n'])
    ##done = urwid.Button(u'Ok')


    ##urwid.connect_signal(done, 'click', exit_program)
    ##main.original_widget = urwid.Filler(urwid.Pile([response,
    ##urwid.AttrMap(done, None, focus_map='reversed')]))
ecs_explorer.py 文件源码 项目:ecs_explorer 作者: firemanphil 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def toggle_detail(self, item):
        if not self.detail_view:
            self.before_detail = self.body
            detail_text = json.dumps(
                item.detail, indent=4, sort_keys=True, cls=DateTimeEncoder)
            lines = detail_text.split('\n')
            text_lines = [urwid.Text(l) for l in lines]
            list_box = DetailListBox(
                urwid.SimpleFocusListWalker(text_lines), self)
            self.body = list_box
            LAYOUT.contents['body'] = (self.body, None)
            self.detail_view = True
        else:
            self.body = self.before_detail
            LAYOUT.contents['body'] = (self.body, None)
            del self.before_detail
            self.detail_view = False
ecs_explorer.py 文件源码 项目:ecs_explorer 作者: firemanphil 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def convert_details_to_columns(details):
    labels = []
    data = []
    for detail in details:
        if type(detail[0]) is list:
            labels.extend(detail[0])
        else:
            labels.append(detail[0])
        labels.append('\n')
        data.append(str(detail[1]))
    text2 = '\n'.join(data)
    if len(labels) == 0:
        labels = ''
        text2 = ''
    filler1 = urwid.Filler(urwid.Text(labels, 'left'), valign='top')
    filler2 = urwid.Filler(urwid.Text(text2, 'left'), valign='top')
    return [filler1, filler2]
search.py 文件源码 项目:papis 作者: alejandrogallo 项目源码 文件源码 阅读 32 收藏 0 点赞 0 评论 0
def docfield(self, field):
        attr_map = field
        return urwid.Columns(
            [
                (
                    'fixed',
                    self.c1width,
                    urwid.AttrMap(
                        urwid.Text(field + ':'),
                        'field',
                        'field_focus'
                    )
                ),
                urwid.AttrMap(
                    self.fields[field],
                    attr_map
                )
            ]
        )
presenter.py 文件源码 项目:bmii 作者: psurply 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def display(self, f):
        def handle_input(key):
            if key in ('q', 'Q'):
                raise urwid.ExitMainLoop()
            elif key in ('right', 'j', ' '):
                if self.slide_id < len(self.sd) - 1:
                    self.slide_id += 1
            elif key in ('left', 'k'):
                if self.slide_id > 0:
                    self.slide_id -= 1
            self.update_display()

        self.load_charset()
        self.sd = list(yaml.load_all(f))
        self.slide_id = 0
        self.update_display()

        txt = urwid.Text(u"Presenting...")
        fill = urwid.Filler(txt, 'bottom')
        urwid.MainLoop(fill, unhandled_input=handle_input).run()
commander.py 文件源码 项目:PyAlertMe 作者: jamesleesaunders 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def __init__(self, title,
                 command_caption='Command:  (Tab to switch focus to upper frame, where you can scroll text)',
                 cmd_cb=None, max_size=1000):
        self.header = urwid.Text(title)
        self.model = urwid.SimpleListWalker([])
        self.body = ListView(self.model, lambda: self._update_focus(False), max_size=max_size)
        self.input = Input(lambda: self._update_focus(True))
        foot = urwid.Pile([urwid.AttrMap(urwid.Text(command_caption), 'reversed'),
                           urwid.AttrMap(self.input, 'normal')])
        urwid.Frame.__init__(self,
                             urwid.AttrWrap(self.body, 'normal'),
                             urwid.AttrWrap(self.header, 'reversed'),
                             foot)
        self.set_focus_path(['footer', 1])
        self._focus = True
        urwid.connect_signal(self.input, 'line_entered', self.on_line_entered)
        self._cmd = cmd_cb
        self._output_styles = [s[0] for s in self.PALLETE]
        self.eloop = None
ytbdwn.py 文件源码 项目:YtbDwn 作者: praneet95 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def menuAV(title, avail_stream_both):   ###menu displaying formats with both audio and video ######### 2nd loop
        body = [urwid.Text(title), urwid.Divider()]

        for c in avail_stream_both:
            button = urwid.Button(str(c) + " ----->" + str(c.resolution) + "----->" + str((float(c.get_filesize())/1024)/1024))
            urwid.connect_signal(button, 'click', chosen_URL, c)
            body.append(urwid.AttrMap(button, None, focus_map='reversed'))
        button = urwid.Button("Only Video/Audio Formats")
        urwid.connect_signal(button, 'click', menuVAOnly)
        body.append(urwid.AttrMap(button, None, focus_map='reversed'))

        button = urwid.Button("EXIT")
        urwid.connect_signal(button, 'click', exit_program)
        body.append(urwid.AttrMap(button, None, focus_map='reversed'))

        return urwid.ListBox(urwid.SimpleFocusListWalker(body))

    ##########################################################################333
ytbdwn.py 文件源码 项目:YtbDwn 作者: praneet95 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def menuVAOnlyMenu(title, avail_stream_VideoO,avail_stream_audioO): ###menu displaying formats with only audio or video ## must handle cases with audio and video alone ## for 3rd loop
        body = [urwid.Text(title), urwid.Divider()]

        for x in avail_stream_VideoO:
            button = urwid.Button(str(x).split('@',1)[0]  + "---->" +x.resolution  + "----->" + str((float(x.get_filesize())/1024)/1024))
            urwid.connect_signal(button, 'click', chosen_URL, x)
            body.append(urwid.AttrMap(button, None, focus_map='reversed'))
        for x1 in avail_stream_audioO:
            button = urwid.Button(str(x1))
            urwid.connect_signal(button, 'click', chosen_URL, x1)
            body.append(urwid.AttrMap(button, None, focus_map='reversed'))

        button = urwid.Button("EXIT")
        urwid.connect_signal(button, 'click', exit_program)
        body.append(urwid.AttrMap(button, None, focus_map='reversed'))

        return urwid.ListBox(urwid.SimpleFocusListWalker(body))

    #################3333##################################################


问题


面经


文章

微信
公众号

扫码关注公众号