Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
col_bytes.py50 linesDownload Raw Back to grideditor
1import urwid2 3from mitmproxy.tools.console import signals4from mitmproxy.tools.console.grideditor import base5from mitmproxy.utils import strutils6 7 8class Column(base.Column):9    def Display(self, data):10        return Display(data)11 12    def Edit(self, data):13        return Edit(data)14 15    def blank(self):16        return b""17 18    def keypress(self, key, editor):19        if key in ["m_select"]:20            editor.walker.start_edit()21        else:22            return key23 24 25class Display(base.Cell):26    def __init__(self, data: bytes) -> None:27        self.data = data28        escaped = strutils.bytes_to_escaped_str(data)29        w = urwid.Text(escaped, wrap="any")30        super().__init__(w)31 32    def get_data(self) -> bytes:33        return self.data34 35 36class Edit(base.Cell):37    def __init__(self, data: bytes) -> None:38        d = strutils.bytes_to_escaped_str(data)39        w = urwid.Edit(edit_text=d, wrap="any", multiline=True)40        w = urwid.AttrMap(w, "editfield")41        super().__init__(w)42 43    def get_data(self) -> bytes:44        txt = self._w.base_widget.get_text()[0].strip()45        try:46            return strutils.escaped_str_to_bytes(txt)47        except ValueError:48            signals.status_message.send(message="Invalid data.")49            raise50 
codekingpro/portable-devtools · Team Ai