Source code for yandex_market_language.models.option

from .abstract import AbstractModel, XMLElement


[docs]class Option(AbstractModel): """ Option model for both the delivery option and the pickup option. Docs: https://yandex.ru/support/partnermarket/elements/delivery-options.html https://yandex.ru/support/partnermarket/elements/pickup-options.html """ __slots__ = [ 'cost', 'days', 'order_before' ] def __init__(self, cost, days, order_before=None): self.cost = cost self.days = days self.order_before = order_before
[docs] def create_dict(self, **kwargs) -> dict: return dict( cost=self.cost, days=self.days, order_before=self.order_before )
[docs] def create_xml(self, **kwargs) -> XMLElement: attribs = {"cost": self.cost, "days": self.days} if self.order_before: attribs["order-before"] = self.order_before el = XMLElement("option", attrib=attribs) return el
[docs] @staticmethod def from_xml(el: XMLElement) -> "Option": el.attrib["order_before"] = el.attrib.pop("order-before", None) return Option(**el.attrib)