OXIESEC PANEL
- Current Dir:
/
/
snap
/
core20
/
2599
/
usr
/
lib
/
python3
/
dist-packages
/
urwid
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
05/26/2025 10:13:33 PM
rwxr-xr-x
📄
__init__.py
3.96 KB
01/21/2018 08:02:02 PM
rw-r--r--
📁
__pycache__
-
05/26/2025 10:13:33 PM
rwxr-xr-x
📄
canvas.py
40.76 KB
01/21/2018 08:02:02 PM
rw-r--r--
📄
command_map.py
3.26 KB
01/21/2018 08:02:02 PM
rw-r--r--
📄
compat.py
3.32 KB
01/21/2018 08:02:02 PM
rw-r--r--
📄
container.py
83.05 KB
01/21/2018 08:02:02 PM
rw-r--r--
📄
curses_display.py
19.87 KB
01/21/2018 08:02:02 PM
rw-r--r--
📄
decoration.py
40.63 KB
01/21/2018 08:02:02 PM
rw-r--r--
📄
display_common.py
30.51 KB
01/21/2018 08:02:02 PM
rw-r--r--
📄
escape.py
13.48 KB
01/21/2018 08:02:02 PM
rw-r--r--
📄
font.py
24.05 KB
01/21/2018 08:02:02 PM
rw-r--r--
📄
graphics.py
31.48 KB
01/21/2018 08:02:02 PM
rw-r--r--
📄
html_fragment.py
8 KB
01/21/2018 08:02:02 PM
rw-r--r--
📄
lcd_display.py
15.91 KB
01/21/2018 08:02:02 PM
rw-r--r--
📄
listbox.py
59.11 KB
01/21/2018 08:02:02 PM
rw-r--r--
📄
main_loop.py
48.85 KB
01/21/2018 08:02:02 PM
rw-r--r--
📄
monitored_list.py
16.45 KB
01/21/2018 08:02:02 PM
rw-r--r--
📄
old_str_util.py
9.83 KB
01/21/2018 08:02:02 PM
rw-r--r--
📄
raw_display.py
35.32 KB
01/21/2018 08:02:02 PM
rw-r--r--
📄
signals.py
12.42 KB
01/21/2018 08:02:02 PM
rw-r--r--
📄
split_repr.py
4.29 KB
01/21/2018 08:02:02 PM
rw-r--r--
📄
str_util.cpython-38-x86_64-linux-gnu.so
20.98 KB
03/23/2020 01:58:15 AM
rw-r--r--
📁
tests
-
05/26/2025 10:13:33 PM
rwxr-xr-x
📄
text_layout.py
16.94 KB
01/21/2018 08:02:02 PM
rw-r--r--
📄
treetools.py
15.24 KB
01/21/2018 08:02:02 PM
rw-r--r--
📄
util.py
12.94 KB
01/21/2018 08:02:02 PM
rw-r--r--
📄
version.py
143 bytes
01/21/2018 08:02:02 PM
rw-r--r--
📄
vterm.py
49.31 KB
01/21/2018 08:02:02 PM
rw-r--r--
📄
web_display.py
30.8 KB
01/21/2018 08:02:02 PM
rw-r--r--
📄
widget.py
60.28 KB
01/21/2018 08:02:02 PM
rw-r--r--
📄
wimp.py
21.3 KB
01/21/2018 08:02:02 PM
rw-r--r--
Editing: split_repr.py
Close
#!/usr/bin/python # # Urwid split_repr helper functions # Copyright (C) 2004-2011 Ian Ward # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # # Urwid web site: http://excess.org/urwid/ from __future__ import division, print_function from inspect import getargspec from urwid.compat import PYTHON3, bytes def split_repr(self): """ Return a helpful description of the object using self._repr_words() and self._repr_attrs() to add to the description. This function may be used by adding code to your class like this: >>> class Foo(object): ... __repr__ = split_repr ... def _repr_words(self): ... return ["words", "here"] ... def _repr_attrs(self): ... return {'attrs': "appear too"} >>> Foo() <Foo words here attrs='appear too'> >>> class Bar(Foo): ... def _repr_words(self): ... return Foo._repr_words(self) + ["too"] ... def _repr_attrs(self): ... return dict(Foo._repr_attrs(self), barttr=42) >>> Bar() <Bar words here too attrs='appear too' barttr=42> """ alist = [(str(k), normalize_repr(v)) for k, v in self._repr_attrs().items()] alist.sort() words = self._repr_words() if not words and not alist: # if we're just going to print the classname fall back # to the previous __repr__ implementation instead return super(self.__class__, self).__repr__() if words and alist: words.append("") return "<%s %s>" % (self.__class__.__name__, " ".join(words) + " ".join(["%s=%s" % itm for itm in alist])) def normalize_repr(v): """ Return dictionary repr sorted by keys, leave others unchanged >>> normalize_repr({1:2,3:4,5:6,7:8}) '{1: 2, 3: 4, 5: 6, 7: 8}' >>> normalize_repr('foo') "'foo'" """ if isinstance(v, dict): items = [(repr(k), repr(v)) for k, v in v.items()] items.sort() return "{" + ", ".join([ "%s: %s" % itm for itm in items]) + "}" return repr(v) def python3_repr(v): """ Return strings and byte strings as they appear in Python 3 >>> python3_repr(u"text") "'text'" >>> python3_repr(bytes()) "b''" """ r = repr(v) if not PYTHON3: if isinstance(v, bytes): return 'b' + r if r.startswith('u'): return r[1:] return r def remove_defaults(d, fn): """ Remove keys in d that are set to the default values from fn. This method is used to unclutter the _repr_attrs() return value. d will be modified by this function. Returns d. >>> class Foo(object): ... def __init__(self, a=1, b=2): ... self.values = a, b ... __repr__ = split_repr ... def _repr_words(self): ... return ["object"] ... def _repr_attrs(self): ... d = dict(a=self.values[0], b=self.values[1]) ... return remove_defaults(d, Foo.__init__) >>> Foo(42, 100) <Foo object a=42 b=100> >>> Foo(10, 2) <Foo object a=10> >>> Foo() <Foo object> """ args, varargs, varkw, defaults = getargspec(fn) # ignore *varargs and **kwargs if varkw: del args[-1] if varargs: del args[-1] # create a dictionary of args with default values ddict = dict(list(zip(args[len(args) - len(defaults):], defaults))) for k in list(d.keys()): if k in ddict: # remove values that match their defaults if ddict[k] == d[k]: del d[k] return d def _test(): import doctest doctest.testmod() if __name__=='__main__': _test()