OXIESEC PANEL
- Current Dir:
/
/
snap
/
core20
/
2582
/
usr
/
share
/
subiquity
/
subiquitycore
/
ui
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
04/29/2025 04:07:53 PM
rwxr-xr-x
📄
__init__.py
639 bytes
04/20/2020 02:31:39 PM
rw-r--r--
📁
__pycache__
-
04/29/2025 04:07:53 PM
rwxr-xr-x
📄
actionmenu.py
4.71 KB
04/20/2020 02:31:39 PM
rw-r--r--
📄
anchors.py
2.22 KB
04/20/2020 02:31:39 PM
rw-r--r--
📄
buttons.py
1.64 KB
04/20/2020 02:31:39 PM
rw-r--r--
📄
container.py
20.3 KB
04/20/2020 02:31:39 PM
rw-r--r--
📄
form.py
14.73 KB
04/20/2020 02:31:39 PM
rw-r--r--
📄
frame.py
1.6 KB
04/20/2020 02:31:39 PM
rw-r--r--
📄
interactive.py
2.74 KB
04/20/2020 02:31:39 PM
rw-r--r--
📄
selector.py
7.41 KB
04/20/2020 02:31:39 PM
rw-r--r--
📄
spinner.py
1.73 KB
04/20/2020 02:31:39 PM
rw-r--r--
📄
stretchy.py
6.1 KB
04/20/2020 02:31:39 PM
rw-r--r--
📄
table.py
17.25 KB
04/20/2020 02:31:39 PM
rw-r--r--
📁
tests
-
04/29/2025 04:07:53 PM
rwxr-xr-x
📄
utils.py
9.37 KB
04/20/2020 02:31:39 PM
rw-r--r--
📁
views
-
04/29/2025 04:07:53 PM
rwxr-xr-x
📄
width.py
1.91 KB
04/20/2020 02:31:39 PM
rw-r--r--
Editing: width.py
Close
# Copyright 2018 Canonical, Ltd. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, version 3. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. import urwid size_neutral_decorations = ( urwid.AttrMap, urwid.PopUpLauncher, urwid.WidgetDisable, ) size_neutral_widget_wraps = ( urwid.Button, urwid.CheckBox, ) def widget_width(w): """Return the natural width of the widget w.""" if (isinstance(w, urwid.WidgetDecoration) and getattr(w, 'has_original_width', False)): return widget_width(w.original_widget) if hasattr(w, 'get_natural_width'): return w.get_natural_width() if isinstance(w, size_neutral_widget_wraps): return widget_width(w._wrapped_widget) if isinstance(w, size_neutral_decorations): return widget_width(w.original_widget) if isinstance(w, urwid.Padding): if w.width == urwid.RELATIVE_100: return w.left + w.right + widget_width(w.original_widget) elif isinstance(w.width, int): return w.width if isinstance(w, urwid.Text): return len(w.text) if isinstance(w, urwid.Columns): if len(w.contents) == 0: return 0 r = 0 for w1, o in w.contents: if o[0] == urwid.GIVEN: r += o[1] else: r += widget_width(w1) r += (len(w.contents) - 1) * w.dividechars return r raise Exception("don't know how to find width of %r", w)