diff options
Diffstat (limited to 'src/teradata/picklers.py')
| -rw-r--r-- | src/teradata/picklers.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/teradata/picklers.py b/src/teradata/picklers.py new file mode 100644 index 0000000..bc0562d --- /dev/null +++ b/src/teradata/picklers.py @@ -0,0 +1,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) |
