urwid 2.6.16__py3-none-any.whl → 3.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of urwid might be problematic. Click here for more details.
- urwid/__init__.py +1 -4
- urwid/canvas.py +18 -37
- urwid/command_map.py +4 -3
- urwid/container.py +1 -1
- urwid/decoration.py +1 -1
- urwid/display/_raw_display_base.py +8 -5
- urwid/display/_win32_raw_display.py +11 -13
- urwid/display/common.py +26 -55
- urwid/display/curses.py +1 -1
- urwid/display/escape.py +6 -8
- urwid/display/lcd.py +4 -6
- urwid/display/web.py +7 -12
- urwid/event_loop/asyncio_loop.py +1 -2
- urwid/event_loop/main_loop.py +13 -18
- urwid/event_loop/tornado_loop.py +4 -5
- urwid/event_loop/trio_loop.py +1 -1
- urwid/font.py +10 -15
- urwid/signals.py +2 -1
- urwid/str_util.py +15 -18
- urwid/text_layout.py +6 -7
- urwid/util.py +6 -17
- urwid/version.py +9 -4
- urwid/vterm.py +9 -44
- urwid/widget/__init__.py +0 -6
- urwid/widget/attr_wrap.py +8 -10
- urwid/widget/bar_graph.py +2 -7
- urwid/widget/big_text.py +9 -7
- urwid/widget/box_adapter.py +4 -4
- urwid/widget/columns.py +50 -81
- urwid/widget/container.py +29 -75
- urwid/widget/edit.py +8 -8
- urwid/widget/filler.py +6 -6
- urwid/widget/frame.py +28 -37
- urwid/widget/grid_flow.py +24 -109
- urwid/widget/line_box.py +13 -0
- urwid/widget/listbox.py +12 -50
- urwid/widget/monitored_list.py +6 -4
- urwid/widget/overlay.py +4 -37
- urwid/widget/padding.py +11 -48
- urwid/widget/pile.py +177 -156
- urwid/widget/popup.py +2 -2
- urwid/widget/progress_bar.py +0 -10
- urwid/widget/scrollable.py +24 -32
- urwid/widget/treetools.py +27 -48
- urwid/widget/widget.py +7 -124
- urwid/widget/widget_decoration.py +4 -33
- urwid/wimp.py +1 -1
- {urwid-2.6.16.dist-info → urwid-3.0.0.dist-info}/METADATA +9 -11
- urwid-3.0.0.dist-info/RECORD +74 -0
- {urwid-2.6.16.dist-info → urwid-3.0.0.dist-info}/WHEEL +1 -1
- urwid-2.6.16.dist-info/RECORD +0 -74
- {urwid-2.6.16.dist-info → urwid-3.0.0.dist-info/licenses}/COPYING +0 -0
- {urwid-2.6.16.dist-info → urwid-3.0.0.dist-info}/top_level.txt +0 -0
urwid/widget/treetools.py
CHANGED
|
@@ -27,7 +27,6 @@ Features:
|
|
|
27
27
|
- custom list walker for displaying widgets in a tree fashion
|
|
28
28
|
"""
|
|
29
29
|
|
|
30
|
-
|
|
31
30
|
from __future__ import annotations
|
|
32
31
|
|
|
33
32
|
import typing
|
|
@@ -107,8 +106,8 @@ class TreeWidget(WidgetWrap[Padding[typing.Union[Text, Columns]]]):
|
|
|
107
106
|
def next_inorder(self) -> TreeWidget | None:
|
|
108
107
|
"""Return the next TreeWidget depth first from this one."""
|
|
109
108
|
# first check if there's a child widget
|
|
110
|
-
|
|
111
|
-
if first_child is not None:
|
|
109
|
+
|
|
110
|
+
if (first_child := self.first_child()) is not None:
|
|
112
111
|
return first_child
|
|
113
112
|
|
|
114
113
|
# now we need to hunt for the next sibling
|
|
@@ -131,24 +130,21 @@ class TreeWidget(WidgetWrap[Padding[typing.Union[Text, Columns]]]):
|
|
|
131
130
|
def prev_inorder(self) -> TreeWidget | None:
|
|
132
131
|
"""Return the previous TreeWidget depth first from this one."""
|
|
133
132
|
this_node = self._node
|
|
134
|
-
|
|
135
|
-
if prev_node is not None:
|
|
133
|
+
|
|
134
|
+
if (prev_node := this_node.prev_sibling()) is not None:
|
|
136
135
|
# we need to find the last child of the previous widget if its
|
|
137
136
|
# expanded
|
|
138
137
|
prev_widget = prev_node.get_widget()
|
|
139
|
-
last_child
|
|
140
|
-
|
|
141
|
-
return prev_widget
|
|
138
|
+
if (last_child := prev_widget.last_child()) is not None:
|
|
139
|
+
return last_child
|
|
142
140
|
|
|
143
|
-
return
|
|
141
|
+
return prev_widget
|
|
144
142
|
|
|
145
143
|
# need to hunt for the parent
|
|
146
|
-
|
|
147
|
-
if prev_node is None and depth == 0:
|
|
144
|
+
if this_node.get_depth() == 0:
|
|
148
145
|
return None
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
return prev_node.get_widget()
|
|
146
|
+
|
|
147
|
+
return this_node.get_parent().get_widget()
|
|
152
148
|
|
|
153
149
|
def keypress(
|
|
154
150
|
self,
|
|
@@ -212,11 +208,10 @@ class TreeWidget(WidgetWrap[Padding[typing.Union[Text, Columns]]]):
|
|
|
212
208
|
else:
|
|
213
209
|
return None
|
|
214
210
|
# recursively search down for the last descendant
|
|
215
|
-
last_descendant
|
|
216
|
-
|
|
217
|
-
return last_child
|
|
211
|
+
if (last_descendant := last_child.last_child()) is not None:
|
|
212
|
+
return last_descendant
|
|
218
213
|
|
|
219
|
-
return
|
|
214
|
+
return last_child
|
|
220
215
|
|
|
221
216
|
|
|
222
217
|
class TreeNode:
|
|
@@ -372,32 +367,18 @@ class ParentNode(TreeNode):
|
|
|
372
367
|
|
|
373
368
|
def next_child(self, key: Hashable) -> TreeNode | None:
|
|
374
369
|
"""Return the next child node in index order from the given key."""
|
|
375
|
-
|
|
376
|
-
index = self.get_child_index(key)
|
|
377
|
-
# the given node may have just been deleted
|
|
378
|
-
if index is None:
|
|
379
|
-
return None
|
|
380
|
-
index += 1
|
|
381
|
-
|
|
382
|
-
child_keys = self.get_child_keys()
|
|
383
|
-
if index < len(child_keys):
|
|
370
|
+
if (index := self.get_child_index(key)) is not None and (index + 1) < len(child_keys := self.get_child_keys()):
|
|
384
371
|
# get the next item at same level
|
|
385
|
-
return self.get_child_node(child_keys[index])
|
|
372
|
+
return self.get_child_node(child_keys[index + 1])
|
|
386
373
|
|
|
374
|
+
# the given node may have just been deleted
|
|
387
375
|
return None
|
|
388
376
|
|
|
389
377
|
def prev_child(self, key: Hashable) -> TreeNode | None:
|
|
390
378
|
"""Return the previous child node in index order from the given key."""
|
|
391
|
-
index
|
|
392
|
-
|
|
393
|
-
return
|
|
394
|
-
|
|
395
|
-
child_keys = self.get_child_keys()
|
|
396
|
-
index -= 1
|
|
397
|
-
|
|
398
|
-
if index >= 0:
|
|
399
|
-
# get the previous item at same level
|
|
400
|
-
return self.get_child_node(child_keys[index])
|
|
379
|
+
if (index := self.get_child_index(key)) is not None and index >= 1:
|
|
380
|
+
# get the previous item at the same level
|
|
381
|
+
return self.get_child_node(self.get_child_keys()[index - 1])
|
|
401
382
|
|
|
402
383
|
return None
|
|
403
384
|
|
|
@@ -435,18 +416,16 @@ class TreeWalker(ListWalker):
|
|
|
435
416
|
|
|
436
417
|
# pylint: disable=arguments-renamed # its bad, but we should not change API
|
|
437
418
|
def get_next(self, start_from) -> tuple[TreeWidget, TreeNode] | tuple[None, None]:
|
|
438
|
-
target
|
|
439
|
-
|
|
440
|
-
return None, None
|
|
419
|
+
if (target := start_from.get_widget().next_inorder()) is not None:
|
|
420
|
+
return target, target.get_node()
|
|
441
421
|
|
|
442
|
-
return
|
|
422
|
+
return None, None
|
|
443
423
|
|
|
444
424
|
def get_prev(self, start_from) -> tuple[TreeWidget, TreeNode] | tuple[None, None]:
|
|
445
|
-
target
|
|
446
|
-
|
|
447
|
-
return None, None
|
|
425
|
+
if (target := start_from.get_widget().prev_inorder()) is not None:
|
|
426
|
+
return target, target.get_node()
|
|
448
427
|
|
|
449
|
-
return
|
|
428
|
+
return None, None
|
|
450
429
|
|
|
451
430
|
# pylint: enable=arguments-renamed
|
|
452
431
|
|
|
@@ -525,8 +504,8 @@ class TreeListBox(ListBox):
|
|
|
525
504
|
|
|
526
505
|
maxrow, _maxcol = size
|
|
527
506
|
_widget, pos = self.body.get_focus()
|
|
528
|
-
|
|
529
|
-
if lastwidget:
|
|
507
|
+
|
|
508
|
+
if lastwidget := pos.get_root().get_widget().last_child():
|
|
530
509
|
lastnode = lastwidget.get_node()
|
|
531
510
|
|
|
532
511
|
self.change_focus(size, lastnode, maxrow - 1)
|
urwid/widget/widget.py
CHANGED
|
@@ -41,7 +41,7 @@ WrappedWidget = typing.TypeVar("WrappedWidget")
|
|
|
41
41
|
LOGGER = logging.getLogger(__name__)
|
|
42
42
|
|
|
43
43
|
|
|
44
|
-
class WidgetMeta(
|
|
44
|
+
class WidgetMeta(signals.MetaSignals, MetaSuper):
|
|
45
45
|
"""
|
|
46
46
|
Bases: :class:`MetaSuper`, :class:`MetaSignals`
|
|
47
47
|
|
|
@@ -105,8 +105,8 @@ def cache_widget_render(cls):
|
|
|
105
105
|
@functools.wraps(fn)
|
|
106
106
|
def cached_render(self, size, focus=False):
|
|
107
107
|
focus = focus and not ignore_focus
|
|
108
|
-
|
|
109
|
-
if canv:
|
|
108
|
+
|
|
109
|
+
if canv := CanvasCache.fetch(self, cls, size, focus):
|
|
110
110
|
return canv
|
|
111
111
|
|
|
112
112
|
canv = fn(self, size, focus=focus)
|
|
@@ -174,8 +174,8 @@ def cache_widget_rows(cls):
|
|
|
174
174
|
@functools.wraps(fn)
|
|
175
175
|
def cached_rows(self, size: tuple[int], focus: bool = False) -> int:
|
|
176
176
|
focus = focus and not ignore_focus
|
|
177
|
-
|
|
178
|
-
if canv:
|
|
177
|
+
|
|
178
|
+
if canv := CanvasCache.fetch(self, cls, size, focus):
|
|
179
179
|
return canv.rows()
|
|
180
180
|
|
|
181
181
|
return fn(self, size, focus)
|
|
@@ -565,133 +565,16 @@ class Widget(metaclass=WidgetMeta):
|
|
|
565
565
|
raise NotImplementedError
|
|
566
566
|
|
|
567
567
|
|
|
568
|
-
class FlowWidget(Widget):
|
|
569
|
-
"""
|
|
570
|
-
Deprecated. Inherit from Widget and add:
|
|
571
|
-
|
|
572
|
-
_sizing = frozenset(['flow'])
|
|
573
|
-
|
|
574
|
-
at the top of your class definition instead.
|
|
575
|
-
|
|
576
|
-
Base class of widgets that determine their rows from the number of
|
|
577
|
-
columns available.
|
|
578
|
-
"""
|
|
579
|
-
|
|
580
|
-
_sizing = frozenset([Sizing.FLOW])
|
|
581
|
-
|
|
582
|
-
def __init__(self, *args, **kwargs):
|
|
583
|
-
warnings.warn(
|
|
584
|
-
"""
|
|
585
|
-
FlowWidget is deprecated. Inherit from Widget and add:
|
|
586
|
-
|
|
587
|
-
_sizing = frozenset(['flow'])
|
|
588
|
-
|
|
589
|
-
at the top of your class definition instead.""",
|
|
590
|
-
DeprecationWarning,
|
|
591
|
-
stacklevel=3,
|
|
592
|
-
)
|
|
593
|
-
super().__init__()
|
|
594
|
-
|
|
595
|
-
def rows(self, size: tuple[int], focus: bool = False) -> int:
|
|
596
|
-
"""
|
|
597
|
-
All flow widgets must implement this function.
|
|
598
|
-
"""
|
|
599
|
-
raise NotImplementedError()
|
|
600
|
-
|
|
601
|
-
def render(self, size: tuple[int], focus: bool = False) -> Canvas: # type: ignore[override]
|
|
602
|
-
"""
|
|
603
|
-
All widgets must implement this function.
|
|
604
|
-
"""
|
|
605
|
-
raise NotImplementedError()
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
class BoxWidget(Widget):
|
|
609
|
-
"""
|
|
610
|
-
Deprecated. Inherit from Widget and add:
|
|
611
|
-
|
|
612
|
-
_sizing = frozenset(['box'])
|
|
613
|
-
_selectable = True
|
|
614
|
-
|
|
615
|
-
at the top of your class definition instead.
|
|
616
|
-
|
|
617
|
-
Base class of width and height constrained widgets such as
|
|
618
|
-
the top level widget attached to the display object
|
|
619
|
-
"""
|
|
620
|
-
|
|
621
|
-
_selectable = True
|
|
622
|
-
_sizing = frozenset([Sizing.BOX])
|
|
623
|
-
|
|
624
|
-
def __init__(self, *args, **kwargs):
|
|
625
|
-
warnings.warn(
|
|
626
|
-
"""
|
|
627
|
-
BoxWidget is deprecated. Inherit from Widget and add:
|
|
628
|
-
|
|
629
|
-
_sizing = frozenset(['box'])
|
|
630
|
-
_selectable = True
|
|
631
|
-
|
|
632
|
-
at the top of your class definition instead.""",
|
|
633
|
-
DeprecationWarning,
|
|
634
|
-
stacklevel=3,
|
|
635
|
-
)
|
|
636
|
-
super().__init__()
|
|
637
|
-
|
|
638
|
-
def render(self, size: tuple[int, int], focus: bool = False) -> Canvas: # type: ignore[override]
|
|
639
|
-
"""
|
|
640
|
-
All widgets must implement this function.
|
|
641
|
-
"""
|
|
642
|
-
raise NotImplementedError()
|
|
643
|
-
|
|
644
|
-
|
|
645
568
|
def fixed_size(size: tuple[()]) -> None:
|
|
646
569
|
"""
|
|
647
570
|
raise ValueError if size != ().
|
|
648
571
|
|
|
649
572
|
Used by FixedWidgets to test size parameter.
|
|
650
573
|
"""
|
|
651
|
-
if size
|
|
574
|
+
if size:
|
|
652
575
|
raise ValueError(f"FixedWidget takes only () for size.passed: {size!r}")
|
|
653
576
|
|
|
654
577
|
|
|
655
|
-
class FixedWidget(Widget):
|
|
656
|
-
"""
|
|
657
|
-
Deprecated. Inherit from Widget and add:
|
|
658
|
-
|
|
659
|
-
_sizing = frozenset(['fixed'])
|
|
660
|
-
|
|
661
|
-
at the top of your class definition instead.
|
|
662
|
-
|
|
663
|
-
Base class of widgets that know their width and height and
|
|
664
|
-
cannot be resized
|
|
665
|
-
"""
|
|
666
|
-
|
|
667
|
-
_sizing = frozenset([Sizing.FIXED])
|
|
668
|
-
|
|
669
|
-
def __init__(self, *args, **kwargs):
|
|
670
|
-
warnings.warn(
|
|
671
|
-
"""
|
|
672
|
-
FixedWidget is deprecated. Inherit from Widget and add:
|
|
673
|
-
|
|
674
|
-
_sizing = frozenset(['fixed'])
|
|
675
|
-
|
|
676
|
-
at the top of your class definition instead.""",
|
|
677
|
-
DeprecationWarning,
|
|
678
|
-
stacklevel=3,
|
|
679
|
-
)
|
|
680
|
-
super().__init__()
|
|
681
|
-
|
|
682
|
-
def render(self, size: tuple[()], focus: bool = False) -> Canvas: # type: ignore[override]
|
|
683
|
-
"""
|
|
684
|
-
All widgets must implement this function.
|
|
685
|
-
"""
|
|
686
|
-
raise NotImplementedError()
|
|
687
|
-
|
|
688
|
-
def pack(self, size: tuple[()] = (), focus: bool = False) -> tuple[int, int]: # type: ignore[override]
|
|
689
|
-
"""
|
|
690
|
-
All fixed widgets must implement this function.
|
|
691
|
-
"""
|
|
692
|
-
raise NotImplementedError()
|
|
693
|
-
|
|
694
|
-
|
|
695
578
|
def delegate_to_widget_mixin(attribute_name: str) -> type[Widget]:
|
|
696
579
|
"""
|
|
697
580
|
Return a mixin class that delegates all standard widget methods
|
|
@@ -827,7 +710,7 @@ class WidgetWrap(delegate_to_widget_mixin("_wrapped_widget"), typing.Generic[Wra
|
|
|
827
710
|
False
|
|
828
711
|
"""
|
|
829
712
|
warnings.warn(
|
|
830
|
-
"_set_w is deprecated. Please use 'WidgetWrap._w' property directly",
|
|
713
|
+
"_set_w is deprecated. Please use 'WidgetWrap._w' property directly. API will be removed in version 5.0.",
|
|
831
714
|
DeprecationWarning,
|
|
832
715
|
stacklevel=2,
|
|
833
716
|
)
|
|
@@ -71,29 +71,12 @@ class WidgetDecoration(Widget, typing.Generic[WrappedWidget]): # pylint: disabl
|
|
|
71
71
|
self._original_widget = original_widget
|
|
72
72
|
self._invalidate()
|
|
73
73
|
|
|
74
|
-
def _get_original_widget(self) -> WrappedWidget:
|
|
75
|
-
warnings.warn(
|
|
76
|
-
f"Method `{self.__class__.__name__}._get_original_widget` is deprecated, "
|
|
77
|
-
f"please use property `{self.__class__.__name__}.original_widget`",
|
|
78
|
-
DeprecationWarning,
|
|
79
|
-
stacklevel=2,
|
|
80
|
-
)
|
|
81
|
-
return self.original_widget
|
|
82
|
-
|
|
83
|
-
def _set_original_widget(self, original_widget: WrappedWidget) -> None:
|
|
84
|
-
warnings.warn(
|
|
85
|
-
f"Method `{self.__class__.__name__}._set_original_widget` is deprecated, "
|
|
86
|
-
f"please use property `{self.__class__.__name__}.original_widget`",
|
|
87
|
-
DeprecationWarning,
|
|
88
|
-
stacklevel=2,
|
|
89
|
-
)
|
|
90
|
-
self.original_widget = original_widget
|
|
91
|
-
|
|
92
74
|
@property
|
|
93
75
|
def base_widget(self) -> Widget:
|
|
94
76
|
"""
|
|
95
|
-
Return the widget without decorations.
|
|
96
|
-
|
|
77
|
+
Return the widget without decorations.
|
|
78
|
+
|
|
79
|
+
If there is only one Decoration, then this is the same as original_widget.
|
|
97
80
|
|
|
98
81
|
>>> from urwid import Text
|
|
99
82
|
>>> t = Text('hello')
|
|
@@ -107,22 +90,10 @@ class WidgetDecoration(Widget, typing.Generic[WrappedWidget]): # pylint: disabl
|
|
|
107
90
|
"""
|
|
108
91
|
visited = {self}
|
|
109
92
|
w = self
|
|
110
|
-
while
|
|
111
|
-
w = w._original_widget
|
|
112
|
-
if w in visited:
|
|
113
|
-
break
|
|
93
|
+
while (w := getattr(w, "_original_widget", w)) not in visited:
|
|
114
94
|
visited.add(w)
|
|
115
95
|
return w
|
|
116
96
|
|
|
117
|
-
def _get_base_widget(self) -> Widget:
|
|
118
|
-
warnings.warn(
|
|
119
|
-
f"Method `{self.__class__.__name__}._get_base_widget` is deprecated, "
|
|
120
|
-
f"please use property `{self.__class__.__name__}.base_widget`",
|
|
121
|
-
DeprecationWarning,
|
|
122
|
-
stacklevel=2,
|
|
123
|
-
)
|
|
124
|
-
return self.base_widget
|
|
125
|
-
|
|
126
97
|
def selectable(self) -> bool:
|
|
127
98
|
return self._original_widget.selectable()
|
|
128
99
|
|
urwid/wimp.py
CHANGED
|
@@ -17,7 +17,7 @@ __all__ = (
|
|
|
17
17
|
warnings.warn(
|
|
18
18
|
f"{__name__!r} is not expected to be imported directly. "
|
|
19
19
|
'Please use public access from "urwid" package. '
|
|
20
|
-
f"Module {__name__!r} is deprecated and will be removed in the
|
|
20
|
+
f"Module {__name__!r} is deprecated and will be removed in the version 4.0.",
|
|
21
21
|
DeprecationWarning,
|
|
22
22
|
stacklevel=3,
|
|
23
23
|
)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: urwid
|
|
3
|
-
Version:
|
|
3
|
+
Version: 3.0.0
|
|
4
4
|
Summary: A full-featured console (xterm et al.) user interface library
|
|
5
5
|
Home-page: https://urwid.org/
|
|
6
6
|
Author-email: Ian Ward <ian@excess.org>
|
|
@@ -23,8 +23,6 @@ Classifier: Operating System :: Microsoft :: Windows
|
|
|
23
23
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
24
24
|
Classifier: Topic :: Software Development :: Widget Sets
|
|
25
25
|
Classifier: Programming Language :: Python :: 3
|
|
26
|
-
Classifier: Programming Language :: Python :: 3.7
|
|
27
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
28
26
|
Classifier: Programming Language :: Python :: 3.9
|
|
29
27
|
Classifier: Programming Language :: Python :: 3.10
|
|
30
28
|
Classifier: Programming Language :: Python :: 3.11
|
|
@@ -36,16 +34,11 @@ Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
|
36
34
|
Requires-Python: >3.7
|
|
37
35
|
Description-Content-Type: text/x-rst
|
|
38
36
|
License-File: COPYING
|
|
39
|
-
Requires-Dist: typing-extensions
|
|
40
37
|
Requires-Dist: wcwidth
|
|
41
38
|
Provides-Extra: curses
|
|
42
39
|
Requires-Dist: windows-curses; sys_platform == "win32" and extra == "curses"
|
|
43
40
|
Provides-Extra: glib
|
|
44
41
|
Requires-Dist: PyGObject; extra == "glib"
|
|
45
|
-
Provides-Extra: lcd
|
|
46
|
-
Requires-Dist: pyserial; extra == "lcd"
|
|
47
|
-
Provides-Extra: serial
|
|
48
|
-
Requires-Dist: pyserial; extra == "serial"
|
|
49
42
|
Provides-Extra: tornado
|
|
50
43
|
Requires-Dist: tornado>=5.0; extra == "tornado"
|
|
51
44
|
Provides-Extra: trio
|
|
@@ -55,6 +48,13 @@ Provides-Extra: twisted
|
|
|
55
48
|
Requires-Dist: twisted; extra == "twisted"
|
|
56
49
|
Provides-Extra: zmq
|
|
57
50
|
Requires-Dist: zmq; extra == "zmq"
|
|
51
|
+
Provides-Extra: serial
|
|
52
|
+
Requires-Dist: pyserial; extra == "serial"
|
|
53
|
+
Provides-Extra: lcd
|
|
54
|
+
Requires-Dist: pyserial; extra == "lcd"
|
|
55
|
+
Dynamic: home-page
|
|
56
|
+
Dynamic: license-file
|
|
57
|
+
Dynamic: requires-python
|
|
58
58
|
|
|
59
59
|
Urwid
|
|
60
60
|
=====
|
|
@@ -143,8 +143,6 @@ To test code in all Python versions:
|
|
|
143
143
|
Supported Python versions
|
|
144
144
|
=========================
|
|
145
145
|
|
|
146
|
-
- 3.7
|
|
147
|
-
- 3.8
|
|
148
146
|
- 3.9
|
|
149
147
|
- 3.10
|
|
150
148
|
- 3.11
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
urwid/__init__.py,sha256=t5n8QWni3FbasOyKIulm_7-Go3A0puBKiie_79rxifU,7979
|
|
2
|
+
urwid/canvas.py,sha256=025TShiKhFG09i-iLztlnekXunqdVkNBHG6tCV_BMPY,46092
|
|
3
|
+
urwid/command_map.py,sha256=UUOC11O0SlNhMiBoYqNaSAfGcg0RmjjGEgz6Xt96iA4,4369
|
|
4
|
+
urwid/container.py,sha256=WOodISzyS4NSs3arijXuXLsDvF1GVIn4ufcPzfxSkdA,1594
|
|
5
|
+
urwid/decoration.py,sha256=dwoYY0tiZS4toGgrxEAALKeVvnoDV9W-LadkV9G4CZg,1777
|
|
6
|
+
urwid/font.py,sha256=3xyQrJ_TA5UK176KLJGMuLZhQqCx-aIFTJhyfI3nlHg,31848
|
|
7
|
+
urwid/graphics.py,sha256=pVGGU5kOWV56iXawDROgQWQwIbgaoh32JHE2COcGesQ,2481
|
|
8
|
+
urwid/numedit.py,sha256=8z1j-JHovBGFV3yZoP1XAsedpsYjnxqR2EuK-m87hso,13374
|
|
9
|
+
urwid/signals.py,sha256=jxXkvZJYNxzABe99Ww_G-lVSXq_P5YB_V1ljnt3rYu4,13192
|
|
10
|
+
urwid/split_repr.py,sha256=pXzuddzQ4RnfIl537Gvoe8PVaBRHCPnxgdYvKK0qm8k,3899
|
|
11
|
+
urwid/str_util.py,sha256=oQVTyDWAIRuCsNl_jeAxX1zbldWgU58MMU3YPWKlFbA,10823
|
|
12
|
+
urwid/text_layout.py,sha256=EqsT64CUfP_QPTnhyVy4erEhXaCShxGqynBm6xS5qpI,22792
|
|
13
|
+
urwid/util.py,sha256=cZ2qtutEThZSq4FGu3DMX2Tds0CXXRghn8b8QQasR7w,15337
|
|
14
|
+
urwid/version.py,sha256=feOY2rjYM8_-oXmp5ErPlMe-6zWTpyiw538tUrvFyEA,511
|
|
15
|
+
urwid/vterm.py,sha256=vzzgf1P8M5j6uEePSEMVhQVMzqGeVnJc1L6DZCH9kRg,57744
|
|
16
|
+
urwid/wimp.py,sha256=CRpUWYsrCSrnTX1AH7FnBI_8EvLHHy6eypg8-zno5MI,572
|
|
17
|
+
urwid/display/__init__.py,sha256=y90WbHPNRHlimPrXhzsSfFsBbBHy8QErmB1y4Xza-xo,1732
|
|
18
|
+
urwid/display/_posix_raw_display.py,sha256=ExZHAzuJg34VNrWWVKXPZGFSApLJvJxrNh4detTEdCY,15053
|
|
19
|
+
urwid/display/_raw_display_base.py,sha256=IVkgFhooYFZxuzXoP4OK1J_Uo3R9rxj7pUscrtz8UJM,33586
|
|
20
|
+
urwid/display/_web.css,sha256=6HarEsIspH2egt51HSrgI8Yl2lGi-DbziWOdS4RHNlk,359
|
|
21
|
+
urwid/display/_web.js,sha256=aWEOQ4EsADsiNgdw-zHEUMCRD2bnfR8M1mu4dOc2Tqk,12947
|
|
22
|
+
urwid/display/_win32.py,sha256=hD4hytElpfIv5qxGNTMSa2QeBNByqJDNVpmiiQSj6CM,5401
|
|
23
|
+
urwid/display/_win32_raw_display.py,sha256=VL6TiUId1bI5jszxAyqrso2XBnyVIWM_GWMKvV5kbOw,9176
|
|
24
|
+
urwid/display/common.py,sha256=w3w5qrxMV-2pBC1_SinluMWlmRzxm82GfDf_hrz0AF4,38564
|
|
25
|
+
urwid/display/curses.py,sha256=Ba-CC-qC-K81ZHWyNhMm_2P4fJVbFI0kQFs0gp-SCc4,22748
|
|
26
|
+
urwid/display/escape.py,sha256=DRFKs9rzfzk3aGsc8S3j_BJvNdETpQZyJN8cItetoaE,17913
|
|
27
|
+
urwid/display/html_fragment.py,sha256=lQRqr-hTrknQyZTtzPDp9zr-TWOT4NcuSsusS-LXIOU,8547
|
|
28
|
+
urwid/display/lcd.py,sha256=CB-CXS6clkbNCNTwSKSnssbSK794TL59nsRA82WbR4w,17601
|
|
29
|
+
urwid/display/raw.py,sha256=TSkIEM6KnQHPmmpBkWKdirZOwVXhSV67k7hWmuuR2OY,1125
|
|
30
|
+
urwid/display/web.py,sha256=pd8PjKskTomdSSuYFRxvJo_9oefdXuN0R2UA3UpIwpg,19129
|
|
31
|
+
urwid/event_loop/__init__.py,sha256=6di4AYD6HbCf6v5p0rZOoteKnM9U5tfk4NKcWMH4FV4,1199
|
|
32
|
+
urwid/event_loop/abstract_loop.py,sha256=6Kkw3KCJ4ndiI2I1P8fPdtHzjuekRxUuvzFOiR0Myok,5494
|
|
33
|
+
urwid/event_loop/asyncio_loop.py,sha256=beOtalT3jwJ8klyxUxNyllqXAgst8ShBiS-8-Raq1xc,8460
|
|
34
|
+
urwid/event_loop/glib_loop.py,sha256=GFoLAenoWKm-13rTBKzCF2JdCEryJKpMo25aidZ7BWs,9351
|
|
35
|
+
urwid/event_loop/main_loop.py,sha256=KlCPzvwsrqLe289Gmznyt02rQC52xvKf70fC-rcUEHk,25989
|
|
36
|
+
urwid/event_loop/select_loop.py,sha256=5ZkIPqyIVJdWRTC89Ca5h8ub_-jpqXjFZaKqiWhdkDg,7534
|
|
37
|
+
urwid/event_loop/tornado_loop.py,sha256=WBtDVy704GeVNtyvKSJa9SMWTwbZ-SOU4QB4MBGZOXo,7100
|
|
38
|
+
urwid/event_loop/trio_loop.py,sha256=bizthoPnwA7KUtB0jEWWJBma5p6vKlQ-eBZcuVjx5ag,10594
|
|
39
|
+
urwid/event_loop/twisted_loop.py,sha256=CtpWBzxNp_y7LHejnXIS67B-iboM3irb_MuI_FtXzc0,9219
|
|
40
|
+
urwid/event_loop/zmq_loop.py,sha256=YK_AkfLf8tayWrpCgQtKwWYuj-F1uMBluUJxPQLagNs,9114
|
|
41
|
+
urwid/widget/__init__.py,sha256=CbZjvN9hrE36hmSMo5URMEm2Da75kLv_q1X7N_NKOWM,4581
|
|
42
|
+
urwid/widget/attr_map.py,sha256=L6svBcabtXeSaU2cNrgDv4Nne6QYk-nvVbr88sA4WnY,6205
|
|
43
|
+
urwid/widget/attr_wrap.py,sha256=G2LbiNGuh8NEydR7HTV1FyfOSXIfkFa9ttTeiYzPKO0,4920
|
|
44
|
+
urwid/widget/bar_graph.py,sha256=uXC1_yBln7OvZ6Njaker_dNU6837cV0UMONcxOkkeoI,21518
|
|
45
|
+
urwid/widget/big_text.py,sha256=wtRyXKwf7G8vzwCptiHYCpWZjE9jN-6e8ZwvG5Wzh6o,2412
|
|
46
|
+
urwid/widget/box_adapter.py,sha256=ZtL77-jg9wI7TPYbDi-AeFS0jnlTYo5eeNYri58fgKM,4336
|
|
47
|
+
urwid/widget/columns.py,sha256=PZF6yg5fpvVvjSfOTmfsfSTEn3TMDFNjjsfMmk7W148,45375
|
|
48
|
+
urwid/widget/constants.py,sha256=bNvw1OoT6jFWzDc_NDJRcle1uIX-ENswhvy2S6mIUEk,15313
|
|
49
|
+
urwid/widget/container.py,sha256=Cs1VycRfLfmPrvqO0xTdf4bxjJldvqXiWgGdAle2e3s,5841
|
|
50
|
+
urwid/widget/divider.py,sha256=cM0gWHAqBz7E8l52CGEWWDMSVQkPNDjwy-t3ptbmh2s,3251
|
|
51
|
+
urwid/widget/edit.py,sha256=1tZLymcilI6krofzI3EgjhQgZIohu_O4KxlLor7kYlk,23695
|
|
52
|
+
urwid/widget/filler.py,sha256=l8FzT6gitp7xK9cPN0f1fW1NxxAo43L_GEx1abh-LHc,14799
|
|
53
|
+
urwid/widget/frame.py,sha256=yVwsImuPhOuL99-9q5tTU7_x3kZ5YyRtqBOgUOyAjAw,21492
|
|
54
|
+
urwid/widget/grid_flow.py,sha256=sAKZv9l-a9B-9vjjqq5Z8iuoCRC1MFyRrZzUOXqzA_o,18549
|
|
55
|
+
urwid/widget/line_box.py,sha256=oefB0GRfDafZAOUn1t193gBYdzc6Pz2T8whYfeq5TYA,7458
|
|
56
|
+
urwid/widget/listbox.py,sha256=Sfp1Y6HZGDziknE-wn7eZ3GsGIgINKft8E_MINLnHuQ,73220
|
|
57
|
+
urwid/widget/monitored_list.py,sha256=pMhWGqt0Du97wQwuOydN-tfoba3rvnTi56BDRskUD6M,19360
|
|
58
|
+
urwid/widget/overlay.py,sha256=A0ypqnCtOSR_axmE0zHiUZfonY1-aRMbTiymYulYQNc,33319
|
|
59
|
+
urwid/widget/padding.py,sha256=zz1fy4b0hWTpEjR4uDlJnzAbm-TuiUcDWM9IusubvN0,19853
|
|
60
|
+
urwid/widget/pile.py,sha256=RubgdaaGcShT-w8tiXVpTTJY_xK8p83uyijv44BgejY,39705
|
|
61
|
+
urwid/widget/popup.py,sha256=waiQ9y7Ted2YWF5yT2Hz2I_KutvuFbeobemrdCsFdXA,5961
|
|
62
|
+
urwid/widget/progress_bar.py,sha256=zwiQboBvo16p18j_5u6Sd8pVmsYnjragE8Yk6cq_qfc,4616
|
|
63
|
+
urwid/widget/scrollable.py,sha256=K_-Ys2JagMM_wpohpbCJ4BVnSwXSUINnxD_pWjgX-MM,24423
|
|
64
|
+
urwid/widget/solid_fill.py,sha256=NZRDSRK0lP4r7gXcKDgVaKEoeOcWvtrY5k2aueQEEL4,1260
|
|
65
|
+
urwid/widget/text.py,sha256=jy15hL6rCBoJdZviq2jJ-i9eO6vEcxvzCIVAZs12AUw,12187
|
|
66
|
+
urwid/widget/treetools.py,sha256=NehR7ELL2vvBHIlwtRCGyTfPLdx0Uis5opufC3xNkcE,17031
|
|
67
|
+
urwid/widget/widget.py,sha256=uWHGpOueiDa8wJykFhR38wHV9Wg59E2lENDrWZZm9xI,26432
|
|
68
|
+
urwid/widget/widget_decoration.py,sha256=zqB41ytmZo8-kSp4iurx06ax-t_IEI9GLbEzn7ZdqsU,4621
|
|
69
|
+
urwid/widget/wimp.py,sha256=4wfzTQBLMbhicSlL64hBPb-1W5FAFrIKfb43i10MKSY,27305
|
|
70
|
+
urwid-3.0.0.dist-info/licenses/COPYING,sha256=NrbT-keRaUP9X-wxPFhHhJRgR-wTN6eLRA5ZkstZX4k,26434
|
|
71
|
+
urwid-3.0.0.dist-info/METADATA,sha256=zXgee1SlCUydSez2za1FRQgCumDaw10nOHyU6ayrbqQ,11008
|
|
72
|
+
urwid-3.0.0.dist-info/WHEEL,sha256=0CuiUZ_p9E4cD6NyLD6UG80LBXYyiSYZOKDm5lp32xk,91
|
|
73
|
+
urwid-3.0.0.dist-info/top_level.txt,sha256=AwxQA43kNkjHbhYELXHBKrQ01X5CR2KnDzU07cVqilY,6
|
|
74
|
+
urwid-3.0.0.dist-info/RECORD,,
|
urwid-2.6.16.dist-info/RECORD
DELETED
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
urwid/__init__.py,sha256=UMQZuTCtUPN9jHAEJ35lasW7IbBYRXy7NiRAKvyz4iE,8041
|
|
2
|
-
urwid/canvas.py,sha256=j3nxOezBnYW5Q37DsIdrE227SM_gRC6ztL37kkZpPj0,46743
|
|
3
|
-
urwid/command_map.py,sha256=OpY-sGF-dOv8hEN5mEwjjlO56VOWVTjKnlJMfhtNP1k,4324
|
|
4
|
-
urwid/container.py,sha256=mikK50qN_Cu-8VlBRqQZzU4DcOvz8P_5CfozyyoIf3Q,1589
|
|
5
|
-
urwid/decoration.py,sha256=sKfCe8SdSWZ4V0Ed_G4aumLxwwhnjoVvF70vlAhoXBE,1772
|
|
6
|
-
urwid/font.py,sha256=jNYYnR_JW_JWbuSIQmNzg2z3fzpg4ihlNBE0EWpz-8s,32040
|
|
7
|
-
urwid/graphics.py,sha256=pVGGU5kOWV56iXawDROgQWQwIbgaoh32JHE2COcGesQ,2481
|
|
8
|
-
urwid/numedit.py,sha256=8z1j-JHovBGFV3yZoP1XAsedpsYjnxqR2EuK-m87hso,13374
|
|
9
|
-
urwid/signals.py,sha256=eNfDSlIi06ySpen1UySZHdu8X4PePlkPRsHHhJE1Hhg,13174
|
|
10
|
-
urwid/split_repr.py,sha256=pXzuddzQ4RnfIl537Gvoe8PVaBRHCPnxgdYvKK0qm8k,3899
|
|
11
|
-
urwid/str_util.py,sha256=1ss-LHAhjXTynTVBcoSgYWIpBeN_RirqHYhP7fq7MrA,10844
|
|
12
|
-
urwid/text_layout.py,sha256=lHiGfo7clmwHt5dMl_AaQSs2ov9IbY9JySTATZBm7h0,22821
|
|
13
|
-
urwid/util.py,sha256=Xvy6yuCevoWjrlGHKgKRaJUJ6DtcYnsscOSpETxhNCI,15735
|
|
14
|
-
urwid/version.py,sha256=tjMs-hqDDWXtLpRofgVMJhxqunEbSaXyws6eSD7xygM,413
|
|
15
|
-
urwid/vterm.py,sha256=l2Ctd0n4IrfCDQ6__EWe8ahBkEHOPCtc5LYKgGE4oGg,58665
|
|
16
|
-
urwid/wimp.py,sha256=o1YsjL_tBLXba8ZRr1MTHH0poLSlXT_atY3-uD_Ualg,567
|
|
17
|
-
urwid/display/__init__.py,sha256=y90WbHPNRHlimPrXhzsSfFsBbBHy8QErmB1y4Xza-xo,1732
|
|
18
|
-
urwid/display/_posix_raw_display.py,sha256=ExZHAzuJg34VNrWWVKXPZGFSApLJvJxrNh4detTEdCY,15053
|
|
19
|
-
urwid/display/_raw_display_base.py,sha256=JSkF_HcPsto5YxF7NWm2vYLb6nE72AlS7SOCah8woZw,33600
|
|
20
|
-
urwid/display/_web.css,sha256=6HarEsIspH2egt51HSrgI8Yl2lGi-DbziWOdS4RHNlk,359
|
|
21
|
-
urwid/display/_web.js,sha256=aWEOQ4EsADsiNgdw-zHEUMCRD2bnfR8M1mu4dOc2Tqk,12947
|
|
22
|
-
urwid/display/_win32.py,sha256=hD4hytElpfIv5qxGNTMSa2QeBNByqJDNVpmiiQSj6CM,5401
|
|
23
|
-
urwid/display/_win32_raw_display.py,sha256=o12EI-OLN4-UZbultM4GYAsymnZmuEAcyKnSF8wnWOo,9314
|
|
24
|
-
urwid/display/common.py,sha256=iPz9uqPtjSYHo7Thj1G8nTiPdoC8Vbl5mGP0aHFYYE0,39517
|
|
25
|
-
urwid/display/curses.py,sha256=LA8Jglr7HRqQLYhN4wcWuvacoX_1LNjBQUbm8x0_GVo,22772
|
|
26
|
-
urwid/display/escape.py,sha256=m4kM33l5fXvGRQ8jFirH2x-9oG83ILBgUpFdeM7D2ZQ,17941
|
|
27
|
-
urwid/display/html_fragment.py,sha256=lQRqr-hTrknQyZTtzPDp9zr-TWOT4NcuSsusS-LXIOU,8547
|
|
28
|
-
urwid/display/lcd.py,sha256=qXfuyZcicarrZM-O-ccPFBPjflD3_bLMv3IQzmYI43E,17607
|
|
29
|
-
urwid/display/raw.py,sha256=TSkIEM6KnQHPmmpBkWKdirZOwVXhSV67k7hWmuuR2OY,1125
|
|
30
|
-
urwid/display/web.py,sha256=39o12Cl79Ft669-mIbq_ZGGVzzkSfHb3Ny54mASegec,19250
|
|
31
|
-
urwid/event_loop/__init__.py,sha256=6di4AYD6HbCf6v5p0rZOoteKnM9U5tfk4NKcWMH4FV4,1199
|
|
32
|
-
urwid/event_loop/abstract_loop.py,sha256=6Kkw3KCJ4ndiI2I1P8fPdtHzjuekRxUuvzFOiR0Myok,5494
|
|
33
|
-
urwid/event_loop/asyncio_loop.py,sha256=9B3redIwvfYzqKSbnxiocb6wx9VXLi5XB08cUJkserE,8471
|
|
34
|
-
urwid/event_loop/glib_loop.py,sha256=GFoLAenoWKm-13rTBKzCF2JdCEryJKpMo25aidZ7BWs,9351
|
|
35
|
-
urwid/event_loop/main_loop.py,sha256=gR2jGmqg1-CXFdNDlt-NizdS5AA7EZfmp6sW-nXwa18,26000
|
|
36
|
-
urwid/event_loop/select_loop.py,sha256=5ZkIPqyIVJdWRTC89Ca5h8ub_-jpqXjFZaKqiWhdkDg,7534
|
|
37
|
-
urwid/event_loop/tornado_loop.py,sha256=VNgXW2gO4edcYDjyEGb86yOHrE0NNXQUPXIOfJyZnAk,7100
|
|
38
|
-
urwid/event_loop/trio_loop.py,sha256=RicEe56BDFmIE5dbMvuqrGhUFIGSx4RliIryNF_62XQ,10593
|
|
39
|
-
urwid/event_loop/twisted_loop.py,sha256=CtpWBzxNp_y7LHejnXIS67B-iboM3irb_MuI_FtXzc0,9219
|
|
40
|
-
urwid/event_loop/zmq_loop.py,sha256=YK_AkfLf8tayWrpCgQtKwWYuj-F1uMBluUJxPQLagNs,9114
|
|
41
|
-
urwid/widget/__init__.py,sha256=lEFAuQKYnGKS9-dhUggItnnm9Bvbbuk7RAKvzrs8xkI,4683
|
|
42
|
-
urwid/widget/attr_map.py,sha256=L6svBcabtXeSaU2cNrgDv4Nne6QYk-nvVbr88sA4WnY,6205
|
|
43
|
-
urwid/widget/attr_wrap.py,sha256=pJQHVNlwcX5IgpdSmTqYOt63EX-p5hA0mJfXtWXJ6wg,4830
|
|
44
|
-
urwid/widget/bar_graph.py,sha256=PmuZwYuUF1yE1mKYqmNo51r1v_2LztfX6hbO_f8Lg2U,21601
|
|
45
|
-
urwid/widget/big_text.py,sha256=Zvjbkdh4H1Wv9ZTdCbX23vfNyeybO8au-kUssE58Bbs,2393
|
|
46
|
-
urwid/widget/box_adapter.py,sha256=uOFlZUaCK9A4H8Pmw6-OoS9QTYi9nn-LhlSa-JpC9Iw,4276
|
|
47
|
-
urwid/widget/columns.py,sha256=HGJ3u5Ucuyy46uOybPh7N1ycfSAXzSkFyPjW3AVpg44,46388
|
|
48
|
-
urwid/widget/constants.py,sha256=bNvw1OoT6jFWzDc_NDJRcle1uIX-ENswhvy2S6mIUEk,15313
|
|
49
|
-
urwid/widget/container.py,sha256=HqafpI2Apz-oI1bcW5rTl3kbOKfPFv_xI8zEXQU7hYI,7177
|
|
50
|
-
urwid/widget/divider.py,sha256=cM0gWHAqBz7E8l52CGEWWDMSVQkPNDjwy-t3ptbmh2s,3251
|
|
51
|
-
urwid/widget/edit.py,sha256=qgVYeg_hX6tqRUiuLQkYwYKmWcfVLrLzAG1a5Au6S-w,23732
|
|
52
|
-
urwid/widget/filler.py,sha256=EEnyAawdKXuwf79pErfNuvqsU1SVTutcMUrwWkU4wfo,14665
|
|
53
|
-
urwid/widget/frame.py,sha256=AOe4FwjvwcIwrpXqyZkCwSZWwAALNl1XRMAKx6ZXYWs,21834
|
|
54
|
-
urwid/widget/grid_flow.py,sha256=wZEcEefXKR3i_EXzl4d12aFT-clq-FcTNBhcfmRui8U,21757
|
|
55
|
-
urwid/widget/line_box.py,sha256=V750xiZtkw6_uRXLhNY91ER3pXwwrZstVv_IJUZd_YY,6884
|
|
56
|
-
urwid/widget/listbox.py,sha256=G6bucNwh0HWiqiyRYsNqfZvWRQz0hBOyxDqpt3DyRXU,74454
|
|
57
|
-
urwid/widget/monitored_list.py,sha256=mZUPYB1yhuKN6su6_VjmoiE0LlTXsYxkH14pbif0tbc,19264
|
|
58
|
-
urwid/widget/overlay.py,sha256=7EtTHOomIF4xzwYiY7SiMCQZF2IHrmO88YeosFOMFo0,34505
|
|
59
|
-
urwid/widget/padding.py,sha256=pBXQsnkySV1GXgveg2Ivm6SCqHiGa2YkYSjXaoCUIHk,21334
|
|
60
|
-
urwid/widget/pile.py,sha256=0or-lFRx0c4ZUq9LWPczdA7Qnka_D7Fg1kYLN_SyLAs,38508
|
|
61
|
-
urwid/widget/popup.py,sha256=vw9_S1UC6UMy5Roc4qK8NXgH5_dDGxoHmpDAi_u9wsI,5974
|
|
62
|
-
urwid/widget/progress_bar.py,sha256=v2iTQq6UrLTkpvIxcFFQ--F2Sf5g2smDO4rB0i5HSbo,4925
|
|
63
|
-
urwid/widget/scrollable.py,sha256=5iV1CoHvvoGHLsT_7TwwfdEKRAEztcgGJHveSn37qM0,24536
|
|
64
|
-
urwid/widget/solid_fill.py,sha256=NZRDSRK0lP4r7gXcKDgVaKEoeOcWvtrY5k2aueQEEL4,1260
|
|
65
|
-
urwid/widget/text.py,sha256=jy15hL6rCBoJdZviq2jJ-i9eO6vEcxvzCIVAZs12AUw,12187
|
|
66
|
-
urwid/widget/treetools.py,sha256=5s3Dnp2PCz4wQccutmdvsTTbAROJMLehXe4moB5POY0,17387
|
|
67
|
-
urwid/widget/widget.py,sha256=A0ZjvDjLqhdzelPFC96Ozo1voIoGkxftNmJh8X1IyNI,29557
|
|
68
|
-
urwid/widget/widget_decoration.py,sha256=6eEPvtF7wk2n1csIBWrnXAosprFl2pZiQ7SoCpwKnJM,5736
|
|
69
|
-
urwid/widget/wimp.py,sha256=4wfzTQBLMbhicSlL64hBPb-1W5FAFrIKfb43i10MKSY,27305
|
|
70
|
-
urwid-2.6.16.dist-info/COPYING,sha256=NrbT-keRaUP9X-wxPFhHhJRgR-wTN6eLRA5ZkstZX4k,26434
|
|
71
|
-
urwid-2.6.16.dist-info/METADATA,sha256=Y09KIQrNHQ6AnPoYaFAbcntFLYNBZWqIovOgxBRDaSg,11088
|
|
72
|
-
urwid-2.6.16.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
|
|
73
|
-
urwid-2.6.16.dist-info/top_level.txt,sha256=AwxQA43kNkjHbhYELXHBKrQ01X5CR2KnDzU07cVqilY,6
|
|
74
|
-
urwid-2.6.16.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|