def __init__(self, return_func, helm_repos_installed_dict):

        self.helm_repos_installed_dict = helm_repos_installed_dict
        self.selection_ch_box = [
            urwid.CheckBox("{:30}{}".format(repo['repo_name'],
                                            repo['repo_url']))
            for repo in helm_repos_installed_dict
        ]
        self.text_deletion_result = urwid.Text(u"")

        blank = urwid.Divider()
        listbox_content = [
            blank,
            urwid.WidgetWrap(urwid.Divider("=", 1)),
            urwid.Padding(urwid.Text(u"Helm Repositories Removal"),
                          left=2,
                          right=2,
                          min_width=20),
            urwid.WidgetWrap(urwid.Divider("*", 0, 1)),
            urwid.Padding(
                urwid.Text(u"Use space/enter to mark helm repo to remove"),
                left=2,
                right=2,
                min_width=20),
            blank,

            # Display helm repositories block
            urwid.Padding(urwid.Pile([
                urwid.Text("    {:30}{}".format("NAME", "URL")),
                urwid.Pile([
                    urwid.AttrWrap(chart, 'buttn', 'buttnf')
                    for chart in self.selection_ch_box
                ], ),
            ]),
                          left=2,
                          right=2,
                          min_width=10),
            blank,
            urwid.Padding(urwid.GridFlow([
                urwid.AttrWrap(urwid.Button("Cancel", on_press=self.on_cancel),
                               'buttn', 'buttnf'), blank,
                urwid.AttrWrap(
                    urwid.Button("Delete Selected Charts",
                                 on_press=self.on_delete), 'buttn', 'buttnf')
            ], 20, 1, 8, 'left'),
                          left=2,
                          right=2,
                          min_width=20,
                          align='left'),
            blank,
            urwid.Padding(self.text_deletion_result,
                          left=2,
                          right=2,
                          min_width=20),
        ]

        listbox = urwid.ListBox(urwid.SimpleListWalker(listbox_content))

        self.return_func = return_func
        self.main_window = urwid.LineBox(urwid.AttrWrap(listbox, 'body'))
    def __init__(self, return_func):

        self.create_namespace_edit_box = urwid.Edit(('editcp', u"Namespace to add: "), "set name", align='left', )
        self.create_namespace_result = urwid.Text(u"")

        blank = urwid.Divider()
        listbox_content = [
            blank,
            urwid.WidgetWrap(urwid.Divider("=", 1)),
            urwid.Padding(urwid.Text(u"Create Namespace"), left=2, right=2, min_width=20),
            urwid.WidgetWrap(urwid.Divider("*", 0, 1)),
            blank,

            blank,
            urwid.Padding(urwid.AttrWrap(self.create_namespace_edit_box, 'editbx', 'editfc'), left=2, right=2),
            blank,
            urwid.Padding(
                urwid.GridFlow(
                    [urwid.AttrWrap(urwid.Button("Cancel", on_press=self.on_cancel), 'buttn', 'buttnf'),
                     blank,
                     urwid.AttrWrap(urwid.Button("Create", on_press=self.on_create_namespace), 'buttn', 'buttnf')
                     ],
                    20, 1, 8, 'left'),
                left=2, right=2, min_width=20, align='left'),

            blank,
            urwid.Padding(self.create_namespace_result, left=2, right=2, min_width=20),
        ]

        listbox = urwid.ListBox(urwid.SimpleListWalker(listbox_content))

        self.return_func = return_func
        self.main_window = urwid.LineBox(urwid.AttrWrap(listbox, 'body'))
Example #3
0
    def __init__(self, return_func):

        self.helm_repo_name_edit_box = urwid.Edit(
            ('editcp', u"Helm repo name "),
            "set name",
            align='left',
        )
        self.helm_repo_url_edit_box = urwid.Edit(
            ('editcp', u"Helm repo URL  "),
            "set url",
            align='left',
        )
        self.add_repo_result = urwid.Text(u"")

        blank = urwid.Divider()
        listbox_content = [
            blank,
            urwid.WidgetWrap(urwid.Divider("=", 1)),
            urwid.Padding(urwid.Text(u"Add Helm Repository"),
                          left=2,
                          right=2,
                          min_width=20),
            urwid.WidgetWrap(urwid.Divider("*", 0, 1)),
            blank,
            blank,
            urwid.Padding(urwid.AttrWrap(self.helm_repo_name_edit_box,
                                         'editbx', 'editfc'),
                          left=2,
                          right=2),
            urwid.Padding(urwid.AttrWrap(self.helm_repo_url_edit_box, 'editbx',
                                         'editfc'),
                          left=2,
                          right=2),
            blank,
            urwid.Padding(urwid.GridFlow([
                urwid.AttrWrap(urwid.Button("Cancel", on_press=self.on_cancel),
                               'buttn', 'buttnf'), blank,
                urwid.AttrWrap(
                    urwid.Button("Add repository", on_press=self.on_add_repo),
                    'buttn', 'buttnf')
            ], 20, 1, 8, 'left'),
                          left=2,
                          right=2,
                          min_width=20,
                          align='left'),
            blank,
            urwid.Padding(self.add_repo_result, left=2, right=2, min_width=20),
        ]

        listbox = urwid.ListBox(urwid.SimpleListWalker(listbox_content))

        self.return_func = return_func
        self.main_window = urwid.LineBox(urwid.AttrWrap(listbox, 'body'))
Example #4
0
 def update_status(self):
     if self.view.disasmblr.arch == 'ARM' and isinstance(
             self.view.disasmlist._w.focus, view.DisassembleInstruction):
         if self.view.disasmlist._w.focus.isthumb:
             mode = "[Thumb]"
         else:
             mode = "[ ARM ]"
         self.status = urwid.Columns([
             urwid.WidgetWrap(urwid.Text(self.default_text)),
             ('fixed', 20, urwid.WidgetWrap(urwid.Text(mode)))
         ])
     else:
         self.status = urwid.WidgetWrap(urwid.Text(self.default_text))
     self.status = urwid.AttrMap(self.status, 'status')
     self._w = urwid.Pile([self.status, self.commandline])
Example #5
0
 def __init__(self, master, helptext):
     self.master, self.helptext = master, helptext
     self.ab = ActionBar()
     self.ib = urwid.WidgetWrap(urwid.Text(""))
     self._w = urwid.Pile([self.ib, self.ab])
     signals.update_settings.connect(self.sig_update_settings)
     self.redraw()
Example #6
0
    def graph_controls(self):
        # setup category buttons
        vc = self.controller.model.valid_categories
        self.category_buttons = [
            self.button(cat, self.on_cat_button, i) for i, cat in vc
        ]
        # setup animate button
        nav_controls = urwid.GridFlow([
            self.button(" prev ", self.on_nav_button, -1),
            self.button("replay", self.on_nav_button, 0),
            self.button(" next ", self.on_nav_button, 1),
        ], 10, 3, 0, 'center')

        self.progress = self.progress_bar(done=self.controller.model.runtime)
        self.progress_wrap = urwid.WidgetWrap(self.progress)

        l = [urwid.Text("Categories", align="center")]
        l += self.category_buttons
        l += [
            urwid.Divider(),
            urwid.Text("Navigation", align="center"),
            nav_controls,
            urwid.Divider(),
            urwid.LineBox(self.status),
            urwid.Divider(),
            self.progress_wrap,
            urwid.Divider(),
            self.button("Save and quit", self.save_and_exit_program),
            self.button("Quit without saving", self.exit_program),
        ]
        w = urwid.ListBox(urwid.SimpleListWalker(l))
        return w
Example #7
0
    def __init__(
        self,
        room_name: Any,
        nick_list: Any,
        tree: Any,
        edit: Any,
        nick_list_width: int = 24,
        border_attrs: Attributes = {},
        room_name_separator: str = "═",
        room_name_split: str = "╤",
        nick_list_separator: str = "│",
        nick_list_split: str = "┤",
        edit_separator: str = "─",
    ) -> None:

        self._width = 0
        self._height = 0
        self._redraw = True

        self._room_name = room_name
        self._nick_list = nick_list
        self._tree = tree
        self._edit = edit
        self._nick_list_width = nick_list_width
        self._border_attrs = border_attrs
        self._room_name_separator = room_name_separator
        self._room_name_split = room_name_split
        self._nick_list_separator = nick_list_separator
        self._nick_list_split = nick_list_split
        self._edit_separator = edit_separator

        # Placeholders (TODO: Use urwid.Text)
        self._room_name_divider = ATWidget(AT())
        self._nick_list_divider = ATWidget(AT())
        self._edit_divider = ATWidget(AT())

        self._edit_pile = urwid.Pile([
            self._tree,
            ("pack", self._edit_divider),
            ("pack", self._edit),
        ])
        self._edit_pile.focus_position = 2

        self._left_wrap = urwid.WidgetWrap(self._tree)

        self._columns = urwid.Columns([
            self._left_wrap,
            (1, urwid.Filler(self._nick_list_divider)),
            (self._nick_list_width, self._nick_list),
        ])
        self._columns.focus_position = 0

        self._outer_pile = urwid.Pile([
            ("pack", self._room_name),
            ("pack", self._room_name_divider),
            self._columns,
        ])
        self._outer_pile.focus_position = 2

        super().__init__(self._outer_pile)
Example #8
0
    def create(self):

        self.clear_new_rant = self.get_trigger_clear_new_rant()
        self.show_rant_list = self.parent_widget.get_trigger_show_rant_list()

        self.create_send_button()
        clear_btn_widget = urwid.Button('Clear',
                                        self.get_trigger_clear_new_rant())

        self.rant_edit_widget = urwid.Edit('', 'I hate my live because...',
                                           True)
        self.rant_tags_edit_widget = urwid.Edit('Tags: ', 'rant')

        self.widget = urwid.Frame(
            urwid.Filler(
                urwid.Pile([
                    urwid.LineBox(self.rant_edit_widget),
                    urwid.LineBox(self.rant_tags_edit_widget),
                    urwid.Columns([
                        ('weight', 1, self.send_btn_widget),
                        ('weight', 1, clear_btn_widget),
                    ],
                                  dividechars=1,
                                  focus_column=None)
                ])),
            header=urwid.WidgetWrap(
                urwid.Pile([
                    urwid.AttrMap(urwid.Text('New Rant', align='center'),
                                  'header'),
                    urwid.Divider(u'\u2500')
                ])),
        )
Example #9
0
 def start(self, fileNames):
     """
     Constructs my widgets and starts my event loop and main loop.
     """
     def possiblyQuit(key):
         if key in ('q', 'Q'):
             if not hasattr(self, '_stopping'):
                 self._stopping = None
                 self.warning("Shutting down, please wait...")
                 if reactor.running:
                     # I trust the stopper function to call my stop
                     # method at the appropriate time
                     reactor.callFromThread(reactor.stop)
             
     # The top-level widgets
     self.m = Messages()
     self.f = Files(fileNames, self._dims()[0])
     p = u.Pile([u.Divider("=", 1, 1), self.f, u.Divider(" ")])
     main = u.WidgetWrap(
         u.LineBox(
             u.Padding(
                 u.Frame(self.m, footer=p),
                 left=1, right=1),
             title=self.title))
     eventLoop = u.TwistedEventLoop(reactor, manage_reactor=False)
     self.formerDims = self._dims()
     self.loop = u.MainLoop(
         main, screen=self.screen,
         unhandled_input=possiblyQuit, event_loop=eventLoop)
     reactor.addSystemEventTrigger('after', 'shutdown', self.stop)
     #sys.stdout = StdSubstitute('STDOUT', self)
     sys.stderr = observer = StdSubstitute('STDERR', self)
     twisted.python.log.addObserver(observer)
     self.running = True
     self.loop.start()
Example #10
0
 def __init__(self, session):
     dummy = urwid.Filler(
         urwid.Text('No playlists found. Press "escape" to quit.',
                    align='center'))
     tracks_container = urwid.WidgetWrap(dummy)
     playlists = PlaylistsView(session, tracks_container)
     self.__super.__init__([('fixed', 15, playlists), tracks_container], 1,
                           0)
Example #11
0
def buildUrwidFromSplits(splitList):
    DEBUG(type(splitList) is View)

    if type(splitList) is Column: 
        return urwid.Columns([buildUrwidFromSplits(x) for x in splitList.widgets])
    elif type(splitList) is Row:
        return urwid.Pile([buildUrwidFromSplits(x) for x in splitList.widgets])
    elif type(splitList) is View:
        return urwid.WidgetWrap(urwid.LineBox(splitList.frame))
Example #12
0
    def build_meters(self):
        self.input_meters = self.meters_control()
        self.output_meters = self.meters_control()

        input_frame = urwid.Frame(urwid.WidgetWrap(self.input_meters),
                                  header=self.build_meter_title(u'Inputs'),
                                  footer=self.build_meter_labels(
                                      self.controller.audio_channels_in))
        input_frame = urwid.LineBox(input_frame)

        output_frame = urwid.Frame(urwid.WidgetWrap(self.output_meters),
                                   header=self.build_meter_title(u'Outputs'),
                                   footer=self.build_meter_labels(
                                       self.controller.audio_channels_out))
        output_frame = urwid.LineBox(output_frame)

        w = urwid.Columns([input_frame, output_frame])
        return w
Example #13
0
 def __init__(self, master: "mitmproxy.console.master.ConsoleMaster", helptext):
     self.master = master
     self.helptext = helptext
     self.ib = urwid.WidgetWrap(urwid.Text(""))
     super().__init__(urwid.Pile([self.ib, self.master.ab]))
     signals.update_settings.connect(self.sig_update_settings)
     signals.flowlist_change.connect(self.sig_update_settings)
     master.options.changed.connect(self.sig_update_settings)
     self.redraw()
Example #14
0
 def main_window(self):
     self.graph = self.bar_graph()
     self.graph_wrap = urwid.WidgetWrap(self.graph)
     vline = urwid.AttrWrap(urwid.SolidFill(u'\u2502'), 'line')
     c = self.graph_controls()
     w = urwid.Columns([('weight', 1, self.graph_wrap),
                        ('fixed', 1, vline), c],
                       dividechars=1,
                       focus_column=2)
     w = urwid.Padding(w, ('fixed left', 1), ('fixed right', 1))
     return w
Example #15
0
 def __init__(self, master, helptext):
     # type: (mitmproxy.console.master.ConsoleMaster, object) -> None
     self.master = master
     self.helptext = helptext
     self.ib = urwid.WidgetWrap(urwid.Text(""))
     super(StatusBar, self).__init__(urwid.Pile([self.ib, self.master.ab]))
     signals.update_settings.connect(self.sig_update_settings)
     signals.flowlist_change.connect(self.sig_update_settings)
     master.options.changed.connect(
         lambda sender, updated: self.sig_update_settings(sender))
     self.redraw()
Example #16
0
 def __init__(
         self,
         master: "mitmproxy.tools.console.master.ConsoleMaster") -> None:
     self.master = master
     self.ib = urwid.WidgetWrap(urwid.Text(""))
     self.ab = ActionBar(self.master)
     super().__init__(urwid.Pile([self.ib, self.ab]))
     signals.update_settings.connect(self.sig_update)
     signals.flowlist_change.connect(self.sig_update)
     master.options.changed.connect(self.sig_update)
     master.view.focus.sig_change.connect(self.sig_update)
     self.redraw()
Example #17
0
    def main_window(self):
        self.graph = self.bar_graph()
        self.graph_wrap = urwid.WidgetWrap(self.graph)
        vline = urwid.AttrWrap(urwid.SolidFill(u'\u2502'), 'line')
        controls = self.graph_controls()

        w = urwid.Columns([('weight', 3, self.graph_wrap), ('fixed', 1, vline), ('fixed', 30, controls)])
        w = urwid.Padding(w, ('fixed left', 1), ('fixed right', 0))
        w = urwid.AttrWrap(w, 'body')
        w = urwid.LineBox(w)
        w = urwid.AttrWrap(w, 'line')
        w = self.main_shadow(w)
        return w
Example #18
0
    def graph_controls(self):

        self.progress = self.progress_bar()
        self.progress_wrap = urwid.WidgetWrap(self.progress)
        self.download = urwid.Text('', align="right")
        self.upload = urwid.Text('', align="right")
        
        l = [
            urwid.Text("EZIO", align="center"),
            urwid.Divider('-'),
            self.button("Quit", self.exit_program),
            urwid.Divider('-'),
            urwid.Text("Total Progress", align="center"),
            self.progress_wrap,
            self.download,
            self.upload,
            urwid.Divider('-'),
            # each progess and speed rate append
        ]

        data = self.controller.get_data()
        for h in data.hashes:
            torrent_name = urwid.Text(data.torrents[h].name, align="left")
            torrent_progress = self.progress_bar()
            torrent_download = urwid.Text('', align="right")
            torrent_upload = urwid.Text('', align="right")
            torrent_active_time = urwid.Text('', align="right")
            torrent_is_finished = urwid.Text('', align="right")
            torrent_num_peers = urwid.Text('', align="right")
            self.torrents[h] = {
                'name': torrent_name,
                'progress': torrent_progress,
                'download': torrent_download,
                'upload': torrent_upload,
                'active_time': torrent_active_time,
                'is_finished': torrent_is_finished,
                'num_peers': torrent_num_peers,
            }

            l.append(torrent_name)
            l.append(torrent_progress)
            l.append(torrent_download)
            l.append(torrent_upload)
            l.append(torrent_active_time)
            l.append(torrent_is_finished)
            l.append(torrent_num_peers)
            l.append(urwid.Divider('-'))

        w = urwid.ListBox(urwid.SimpleListWalker(l))
        return w
Example #19
0
    def create(self):

        self.create_get_more_widget()
        self.create_refresh_widget()

        self.widget = urwid.Frame(
            self.body,
            header=urwid.WidgetWrap(
                urwid.Pile([
                    urwid.AttrMap(urwid.Text('Rants', align='center'),
                                  'header'),
                    urwid.Divider(u'\u2500')
                ])),
        )

        self.subscribe_body_update()
Example #20
0
    def __init__(self, app, tabs, focus_tab=0):
        self.app = app

        self.tabs = tabs

        self.cur_tab = focus_tab
        self.prev_tab = focus_tab

        self.tabbar = urwid.Text('', align='left', wrap=urwid.CLIP)
        self._update_tabbar_string()

        w = self.tabs[self.cur_tab][1]
        self.tab_w = urwid.WidgetWrap(w)

        self.__super.__init__([('flow', self.tabbar),
                               ('flow', urwid.Divider(u'\u2500')), self.tab_w],
                              2)
Example #21
0
 def make_runtime_error_view(self):
     blank = urwid.Divider()
     status_header = urwid.AttrWrap(urwid.Text('Run Code Status: '), 'body')
     status = urwid.AttrWrap(urwid.Text('Runtime Error'), 'hometag')
     columns = urwid.Columns([(17, status_header), (20, status)])
     column_wrap = urwid.WidgetWrap(columns)
     result_header = urwid.Text('--- Run Code Result: ---', align='center')
     error_header = urwid.Text('Runtime Error Message:')
     error_message = urwid.Text(self.result['runtime_error'])
     your_input_header = urwid.Text('Last input:')
     your_input = urwid.Text(self.result['last_testcase'])
     list_items = [
             result_header,
             blank, column_wrap,
             blank, error_header, error_message,
             blank, your_input_header, your_input,
     ]
     self._append_stdout_if_non_empty(list_items)
     return urwid.Padding(urwid.ListBox(urwid.SimpleListWalker(list_items)), left=2, right=2)
Example #22
0
    def graph_controls(self):
        modes = self.controller.get_modes()
        # setup mode radio buttons
        self.mode_buttons = []
        group = []
        for m in modes:
            rb = self.radio_button( group, m, self.on_mode_button )
            self.mode_buttons.append( rb )
        # setup animate button
        self.animate_button = self.button( "", self.on_animate_button)
        self.on_animate_button( self.animate_button )
        self.offset = 0
        self.animate_progress = self.progress_bar()
        animate_controls = urwid.GridFlow( [
            self.animate_button,
            self.button("Reset", self.on_reset_button),
            ], 9, 2, 0, 'center')

        if urwid.get_encoding_mode() == "utf8":
            unicode_checkbox = urwid.CheckBox(
                "Enable Unicode Graphics",
                on_state_change=self.on_unicode_checkbox)
        else:
            unicode_checkbox = urwid.Text(
                "UTF-8 encoding not detected")

        self.animate_progress_wrap = urwid.WidgetWrap(
            self.animate_progress)

        l = [urwid.Text("The display widget",align="left"),
             urwid.Text("Mode",align="left"),
            ] + self.mode_buttons + [
            urwid.Divider(),
            urwid.Text("Animation",align="left"),
            animate_controls,
            self.animate_progress_wrap,
            urwid.Divider(),
            urwid.LineBox( unicode_checkbox ),
            urwid.Divider(),
            self.button("Quit", self.exit_program ),
            ]
        w = urwid.ListBox(urwid.SimpleListWalker(l))
        return w
Example #23
0
    def setWidget(self, widget, useFiller=False):
        def possiblyQuit(key):
            if key in ('q', 'Q'):
                reactor.stop()

        # The widget under test is outline, possibly padded with filler
        outlined = u.LineBox(widget)
        if useFiller:
            height = 'flow' if hasattr(widget, 'rows') else 3
            w = u.Filler(outlined, valign='top', height=height)
        else:
            w = outlined
        main = u.WidgetWrap(w)
        # The loops
        eventLoop = u.TwistedEventLoop(reactor, manage_reactor=False)
        self.loop = u.MainLoop(
            main, screen=self.screen,
            unhandled_input=possiblyQuit,
            event_loop=eventLoop)
        self.loop.start()
Example #24
0
 def __init__(self, controller: Any, question: Any,
              success_callback: Callable[[], bool]):
     self.controller = controller
     self.success_callback = success_callback
     yes = urwid.Button('Yes', self.exit_popup_yes)
     no = urwid.Button('No', self.exit_popup_no)
     yes._w = urwid.AttrMap(urwid.SelectableIcon(
         'Yes', 4), None, 'selected')
     no._w = urwid.AttrMap(urwid.SelectableIcon(
         'No', 4), None, 'selected')
     display_widget = urwid.GridFlow([yes, no], 3, 5, 1, 'center')
     wrapped_widget = urwid.WidgetWrap(display_widget)
     prompt = urwid.LineBox(
         urwid.ListBox(
             urwid.SimpleFocusListWalker(
                 [question, urwid.Divider(), wrapped_widget]
             )))
     urwid.Overlay.__init__(self, prompt, self.controller.view,
                            align="left", valign="top",
                            width=self.controller.view.LEFT_WIDTH + 1,
                            height=8)
Example #25
0
 def make_compile_error_view(self):
     blank = urwid.Divider()
     status_header = urwid.AttrWrap(urwid.Text('Run Code Status: '), 'body')
     status = urwid.AttrWrap(urwid.Text('Compile Error'), 'hometag')
     columns = urwid.Columns([(17, status_header), (20, status)])
     column_wrap = urwid.WidgetWrap(columns)
     result_header = urwid.Text('--- Run Code Result: ---', align='center')
     your_input_header = urwid.Text('Your input:')
     your_input = urwid.Text('')
     your_answer_header = urwid.Text('Your answer:')
     your_answer = urwid.Text(self.result['compile_error'])
     expected_answer_header = urwid.Text('Expected answer:')
     expected_answer = urwid.Text('Unkown Error')
     list_items = [
             result_header,
             blank, column_wrap,
             blank, your_input_header, your_input,
             blank, your_answer_header, your_answer,
             blank, expected_answer_header, expected_answer
     ]
     return urwid.Padding(urwid.ListBox(urwid.SimpleListWalker(list_items)), left=2, right=2)
Example #26
0
 def make_unified_error_view(self, error_title):
     blank = urwid.Divider()
     status_header = urwid.AttrWrap(urwid.Text('Run Code Status: '), 'body')
     status = urwid.AttrWrap(urwid.Text(error_title), 'hometag')
     columns = urwid.Columns([(17, status_header), (30, status)])
     column_wrap = urwid.WidgetWrap(columns)
     if 'last_testcase' in self.result:
         result_header = urwid.Text('--- Run Code Result: ---', align='center')
         your_input_header = urwid.Text('Last executed input:')
         your_input = urwid.Text(self.result['last_testcase'])
         list_items = [
             result_header,
             blank, column_wrap,
             blank, your_input_header, your_input,
         ]
     else:
         list_items = [
             result_header,
             blank, column_wrap,
         ]
     self._append_stdout_if_non_empty(list_items)
     return urwid.Padding(urwid.ListBox(urwid.SimpleListWalker(list_items)), left=2, right=2)
    def create(self):

        send_btn_widget = urwid.Button('Send', self.get_trigger_login())
        clear_btn_widget = urwid.Button('Clear', self.get_trigger_clear_form())

        self.username_edit = urwid.Edit('Username: '******'')
        self.password_edit = urwid.Edit('Password: '******'', mask='*')

        self.widget = urwid.Frame(
            urwid.Filler(
                urwid.Pile([
                    urwid.LineBox(
                        self.username_edit
                    ),
                    urwid.LineBox(
                        self.password_edit
                    ),
                    urwid.Columns(
                        [
                            ('weight', 1, send_btn_widget),
                            ('weight', 1, clear_btn_widget),
                        ],
                        dividechars=1,
                        focus_column=None
                    )
                ])
            ),
            header=urwid.WidgetWrap(
                urwid.Pile(
                    [
                        urwid.AttrMap(
                            urwid.Text('Log In', align='center'),
                            'header'
                        ),
                        urwid.Divider(u'\u2500')
                    ]
                )
            ),
        )
Example #28
0
    def create(self):

        self.create_new_rant_button()

        login_logout_btn = LogInLogOutBtn(
            parent_widget=self,
            login_action=self.parent_widget.get_trigger_show_login_widget())

        rant_list_btn = urwid.AttrMap(
            urwid.Button("Rants",
                         self.parent_widget.get_trigger_show_rant_list()),
            'button normal', 'button select')

        quit_btn = urwid.AttrMap(
            urwid.Button("Quit", self.controller.exit_program()),
            'button normal', 'button select')

        options = [
            rant_list_btn,
            self.new_rant_button,
            urwid.Divider(),
            login_logout_btn,
            quit_btn,
        ]

        self.widget = urwid.Frame(urwid.ListBox(
            urwid.SimpleListWalker([
                urwid.AttrMap(option, None, focus_map='reversed')
                for option in options
            ])),
                                  header=urwid.WidgetWrap(
                                      urwid.Pile([
                                          urwid.AttrMap(
                                              urwid.Text('Main menu',
                                                         align='center'),
                                              'header'),
                                          urwid.Divider(u'\u2500')
                                      ])),
                                  focus_part='body')
Example #29
0
    def __init__(self, return_func, charts_dict_list, values_dir_path):

        self.charts_dict_list = charts_dict_list
        self.values_dir_path = values_dir_path

        self.docker_registry = ''
        self.docker_username = ''
        self.docker_password = ''

        # Define array of CheckBox, from values received from helm_charts_installed_dict
        self.selection_ch_box = [
            urwid.CheckBox("{:30}{}".format(chart['chart_name'],
                                            chart['name_space']))
            for chart in self.charts_dict_list
        ]
        self.docker_registry_edit_box = urwid.Edit(
            ('editcp', u"Docker Registry "),
            self.docker_registry,
            align='left',
        )
        self.docker_username_edit_box = urwid.Edit(
            ('editcp', u"Docker Username "),
            self.docker_username,
            align='left',
        )
        self.docker_password_edit_box = urwid.Edit(
            ('editcp', u"Docker Password "),
            self.docker_password,
            align='left',
        )
        self.text_installation_result = urwid.Text(u"")

        blank = urwid.Divider()
        listbox_content = [
            blank,
            urwid.WidgetWrap(urwid.Divider("=", 1)),
            urwid.Padding(urwid.Text(u"Helm Charts Installation"),
                          left=2,
                          right=2,
                          min_width=20),
            urwid.WidgetWrap(urwid.Divider("*", 0, 1)),
            urwid.Padding(
                urwid.Text(u"Use space/enter to mark helm chart to install"),
                left=2,
                right=2,
                min_width=20),
            blank,

            # Display helm charts block
            urwid.Padding(urwid.Pile([
                urwid.Text("    {:30}{}".format("NAME", "NAMESPACE")),
                urwid.Pile([
                    urwid.AttrWrap(chart, 'buttn', 'buttnf')
                    for chart in self.selection_ch_box
                ], ),
            ]),
                          left=2,
                          right=2,
                          min_width=10),
            blank,
            urwid.Padding(urwid.Text([
                u"In case chart contains ",
                ('important', u"docker repository secrets"), ", set the below:"
            ]),
                          left=2,
                          right=2,
                          min_width=20),
            urwid.Padding(urwid.AttrWrap(self.docker_registry_edit_box,
                                         'editbx', 'editfc'),
                          left=2,
                          right=2),
            urwid.Padding(urwid.AttrWrap(self.docker_username_edit_box,
                                         'editbx', 'editfc'),
                          left=2,
                          right=2),
            urwid.Padding(urwid.AttrWrap(self.docker_password_edit_box,
                                         'editbx', 'editfc'),
                          left=2,
                          right=2),
            blank,
            urwid.Padding(urwid.GridFlow([
                urwid.AttrWrap(urwid.Button("Cancel", on_press=self.on_cancel),
                               'buttn', 'buttnf'), blank,
                urwid.AttrWrap(
                    urwid.Button("Install Selected Charts",
                                 on_press=self.on_install), 'buttn', 'buttnf')
            ], 20, 1, 8, 'left'),
                          left=2,
                          right=2,
                          min_width=20,
                          align='left'),
            blank,
            urwid.Padding(self.text_installation_result,
                          left=2,
                          right=2,
                          min_width=20),
        ]

        listbox = urwid.ListBox(urwid.SimpleListWalker(listbox_content))

        self.return_func = return_func

        self.main_window = urwid.LineBox(urwid.AttrWrap(listbox, 'body'))
Example #30
0
 def __init__(self, controller):
     AppView.__init__(self, controller)
     self.widget = urwid.WidgetWrap(self.main_window())