Source code for yankee.html.schema.schema

import lxml.html as ET
from lxml.etree import _Element
from yankee.base import schema
from yankee.base.deserializer import Deserializer

from .mixin import HtmlMixin

[docs]class Deserializer(HtmlMixin, Deserializer): pass
[docs]class Schema(HtmlMixin, schema.Schema):
[docs] def load(self, obj): if isinstance(obj, _Element): return super().load(obj) elif isinstance(obj, str): return super().load(ET.fromstring(obj.encode())) elif isinstance(obj, bytes): return super().load(ET.fromstring(obj))
[docs]class PolymorphicSchema(HtmlMixin, schema.PolymorphicSchema): pass
[docs]class RegexSchema(HtmlMixin, schema.RegexSchema): pass
[docs]class ZipSchema(HtmlMixin, schema.ZipSchema): pass