Skip to content

Commit

Permalink
delivery_options
Browse files Browse the repository at this point in the history
  • Loading branch information
aleksandr-rakov committed Jul 20, 2017
1 parent 3605bed commit 1a19356
Showing 1 changed file with 14 additions and 6 deletions.
20 changes: 14 additions & 6 deletions pyayml/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
'agency',
'email',
'cpa',
'local_delivery_cost'
'delivery-options'
]
OFFERS_TAGS={
'':[
Expand All @@ -34,7 +34,7 @@
'store',
'pickup',
'delivery',
'local_delivery_cost',
'delivery-options',
'name',
'vendor',
'vendorCode',
Expand All @@ -57,7 +57,7 @@
'store',
'pickup',
'delivery',
'local_delivery_cost',
'delivery-options',
'typePrefix',
'vendor',
'vendorCode',
Expand Down Expand Up @@ -88,7 +88,7 @@
'store',
'pickup',
'delivery',
'local_delivery_cost',
'delivery-options',
'author',
'name',
'publisher',
Expand Down Expand Up @@ -242,13 +242,19 @@ def __init__(self):
def get_xml(self):
return HEADER+etree.tostring(self.root, encoding='utf-8', pretty_print=True)

def insert_delivery_options(self,parent,data):
etree.SubElement(parent, 'delivery-options', **data)

def set_shop(self,shop_data):
shop_tag = etree.SubElement(self.root, 'shop')
self.shop=shop_tag

for key in SHOP_TAGS:
if key in shop_data:
etree.SubElement(shop_tag, key).text = shop_data[key]
if key=='delivery-options':
self.insert_delivery_options(shop_tag,shop_data[key])
else:
etree.SubElement(shop_tag, key).text = shop_data[key]

def set_currencies(self,currencies_data):
currencies_tag = etree.SubElement(self.shop, 'currencies')
Expand Down Expand Up @@ -282,7 +288,9 @@ def set_offers(self, offers_data):
offer_tag = etree.SubElement(offers_tag,'offer', id=offer['id'], available=available)
for key in OFFERS_TAGS[otype]:
if key in offer:
if isinstance(offer[key],list):
if key=='delivery-options':
self.insert_delivery_options(offer_tag,offer[key])
elif isinstance(offer[key],list):
for param in offer[key]:
if isinstance(param,dict):
kwargs=dict((k,v) for k,v in param.items() if not k.startswith('_'))
Expand Down

0 comments on commit 1a19356

Please sign in to comment.