MCPcopy Create free account
hub / github.com/mitmproxy/mitmproxy / FlowListWalker

Class FlowListWalker

mitmproxy/tools/console/flowlist.py:43–81  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

41
42
43class FlowListWalker(urwid.ListWalker):
44 master: "mitmproxy.tools.console.master.ConsoleMaster"
45
46 def __init__(self, master):
47 self.master = master
48
49 def positions(self, reverse=False):
50 # The stub implementation of positions can go once this issue is resolved:
51 # https://github.com/urwid/urwid/issues/294
52 ret = range(self.master.view.get_length())
53 if reverse:
54 return reversed(ret)
55 return ret
56
57 def view_changed(self):
58 self._modified()
59 self._get.cache_clear()
60
61 def get_focus(self):
62 if not self.master.view.focus.flow:
63 return None, 0
64 f = FlowItem(self.master, self.master.view.focus.flow)
65 return f, self.master.view.focus.index
66
67 def set_focus(self, index):
68 if self.master.commands.execute("view.properties.inbounds %d" % index):
69 self.master.view.focus.index = index
70
71 @lru_cache(maxsize=None)
72 def _get(self, pos: int) -> tuple[FlowItem | None, int | None]:
73 if not self.master.view.inbounds(pos):
74 return None, None
75 return FlowItem(self.master, self.master.view[pos]), pos
76
77 def get_next(self, pos):
78 return self._get(pos + 1)
79
80 def get_prev(self, pos):
81 return self._get(pos - 1)
82
83
84class FlowListBox(urwid.ListBox, layoutwidget.LayoutWidget):

Callers 1

__init__Method · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…