Advertisement
Guest User

Untitled

a guest
Aug 27th, 2016
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.52 KB | None | 0 0
  1. import xml.etree.ElementTree as xmlParser
  2. import ftplib
  3. import os
  4. from urllib.request import urlopen
  5. import smtplib
  6. import datetime
  7. from email.mime.text import MIMEText
  8. from email.header import Header
  9. import csv
  10.  
  11.  
  12. host = "szelepcsenyi.net"
  13. password = "AsC1i@IkEz1"
  14. username = "idevelopmentpeto"
  15. port = "22"
  16.  
  17. url = 'https://feeds.mergado.com/priemyselnytovar-sk-heureka-sk-b4ddd86487479eb10da0b164d6c533d5.xml'
  18. urlOpen = urlopen(url)
  19. contents = urlOpen.read()
  20. data = contents.decode()
  21.  
  22. file = open("export.xml", 'w')
  23. file.write(data)
  24. file.close()
  25.  
  26. xmlDoc = xmlParser.parse('export.xml')
  27. rootElement = xmlDoc.getroot()
  28.  
  29. for element in rootElement.iter():
  30.     if element.tag == 'DESCRIPTION':
  31.         element.tag = 'description'
  32.     elif element.tag == 'PRODUCT':
  33.         element.tag = 'title'
  34.     elif element.tag == 'ITEM_ID':
  35.         element.tag = 'id'
  36.     elif element.tag == 'SHOPITEM':
  37.         element.tag = 'product'
  38.     elif element.tag == 'EAN':
  39.         element.tag = 'gtin'
  40.     elif element.tag == 'IMGURL':
  41.         element.tag = 'image_link'
  42.     elif element.tag == 'URL':
  43.         element.tag = 'link'
  44.     elif element.tag == 'CATEGORYTEXT':
  45.         element.tag = 'product_type'
  46.     elif element.tag == 'MANUFACTURER':
  47.         element.tag = 'brand'
  48.     elif element.tag == 'PRICE_VAT':
  49.         element.tag = 'price'
  50.  
  51.  
  52.  
  53. for element in rootElement:
  54.     for subElement in element:
  55.         if subElement.tag == 'PRODUCTNAME':
  56.             element.remove(subElement)
  57.         elif subElement.tag == 'DELIVERY_DATE':
  58.             element.remove(subElement)
  59.  
  60.  
  61. def subElement_equal(subElement1,subElement2):
  62.     if type(subElement1) != type(subElement2):
  63.         return False
  64.     if subElement1.tag != subElement1.tag:
  65.         return False
  66.     if subElement1.text != subElement2.text:
  67.         return False
  68.     if subElement1.tail != subElement2.tail:
  69.         return False
  70.     if subElement1.attrib != subElement2.attrib:
  71.         return False
  72.     if len(subElement1) != len(subElement2):
  73.         return False
  74.     return all([subElement_equal(c1,c2) for c1,c2 in zip(subElement1,subElement2)])
  75.  
  76. prev = None
  77.  
  78. for element in rootElement:
  79.     elementsToDelete = []
  80.     for subElement in element:
  81.         if subElement_equal(subElement,prev):
  82.             elementsToDelete.append(subElement)
  83.             continue
  84.         prev = subElement
  85.     for elementToDelete in elementsToDelete:
  86.         element.remove(elementToDelete)
  87.  
  88. xmlDoc.write('EditedFeedGMC.xml',encoding="UTF-16",xml_declaration=True)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement