Source code for yandex_market_language.models.dimensions
from .abstract import AbstractModel, XMLElement
[docs]class Dimensions(AbstractModel):
"""
Offer dimensions model (length, width, height) in the package in
centimeters.
"""
__slots__ = [
'_length',
'_width',
'_height'
]
def __init__(self, length, wight, height):
self.length = length
self.width = wight
self.height = height
@property
def length(self) -> float:
return float(self._length)
@length.setter
def length(self, value):
self._length = self._is_valid_float(value, "length")
@property
def width(self) -> float:
return float(self._width)
@width.setter
def width(self, value):
self._width = self._is_valid_float(value, "width")
@property
def height(self) -> float:
return float(self._height)
@height.setter
def height(self, value):
self._height = self._is_valid_float(value, "height")
[docs] def create_dict(self, **kwargs) -> dict:
return dict(length=self.length, width=self.width, height=self.height)
[docs] def create_xml(self, **kwargs) -> XMLElement:
el = XMLElement("dimensions")
el.text = "/".join([self._length, self._width, self._height])
return el
[docs] @staticmethod
def from_xml(el: XMLElement) -> "Dimensions":
return Dimensions(*el.text.split("/"))