Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
_compat.py75 linesDownload Raw Back to contentviews
1from __future__ import annotations2 3import sys4import typing5from typing import Iterator6 7from mitmproxy import contentviews8from mitmproxy.contentviews import SyntaxHighlight9from mitmproxy.contentviews._api import Contentview10from mitmproxy.contentviews._api import Metadata11from mitmproxy.utils.strutils import always_str12 13if sys.version_info < (3, 13):  # pragma: no cover14    from typing_extensions import deprecated15else:16    from warnings import deprecated17 18if typing.TYPE_CHECKING:19    from mitmproxy.contentviews.base import TViewLine20    from mitmproxy.contentviews.base import View21 22 23class LegacyContentview(Contentview):24    @property25    def name(self) -> str:26        return self.contentview.name27 28    @property29    def syntax_highlight(self) -> SyntaxHighlight:30        return getattr(self.contentview, "syntax_highlight", "none")31 32    def render_priority(33        self,34        data: bytes,35        metadata: Metadata,36    ) -> float:37        return (38            self.contentview.render_priority(39                data=data,40                content_type=metadata.content_type,41                flow=metadata.flow,42                http_message=metadata.http_message,43            )44            or 0.045        )46 47    def prettify(self, data: bytes, metadata: Metadata) -> str:48        lines: Iterator[TViewLine]49        desc_, lines = self.contentview(50            data,51            content_type=metadata.content_type,52            flow=metadata.flow,53            http_message=metadata.http_message,54        )55        return "\n".join(56            "".join(always_str(text, "utf8", "backslashescape") for tag, text in line)57            for line in lines58        )59 60    def __init__(self, contentview: View):61        self.contentview = contentview62 63 64@deprecated("Use `mitmproxy.contentviews.registry` instead.")65def get(name: str) -> Contentview | None:66    try:67        return contentviews.registry[name.lower()]68    except KeyError:69        return None70 71 72@deprecated("Use `mitmproxy.contentviews.Contentview` instead.")73def remove(view: View):74    pass75 
codekingpro/portable-devtools · Team Ai