summaryrefslogtreecommitdiff
path: root/src/teradata/picklers.py
blob: bc0562d6c2bcaa47a61a7a2f9aa72742f0c660f7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
lazy import copyreg

lazy from lxml import html
lazy from lxml.html._element import HtmlElement


def _reduce_html_element(elem: HtmlElement):
    raw_html = html.tostring(elem)
    return _rebuild_html_element, (raw_html,)


def _rebuild_html_element(raw_html: str) -> HtmlElement:
    return html.fromstring(raw_html)


def register() -> None:
    copyreg.pickle(HtmlElement, _reduce_html_element)