Source code for yandex_market_language.models.category

from .abstract import AbstractModel, XMLElement


[docs]class Category(AbstractModel): """ Category model for shop. Docs: https://yandex.ru/support/partnermarket/elements/categories.html """ __slots__ = [ 'category_id', 'name', 'parent_id' ] def __init__(self, category_id, name, parent_id=None): self.category_id = category_id self.name = name self.parent_id = parent_id
[docs] def create_dict(self, **kwargs) -> dict: return dict( id=self.category_id, name=self.name, parent_id=self.parent_id )
[docs] def create_xml(self, **kwargs) -> XMLElement: attribs = {"id": self.category_id} if self.parent_id: attribs["parentId"] = self.parent_id el = XMLElement("category", attribs) el.text = self.name return el
[docs] @staticmethod def from_xml(el: XMLElement) -> "Category": return Category( category_id=el.attrib["id"], name=el.text, parent_id=el.attrib.get("parentId") )