Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from itertools import chain
- from urllib.request import urlopen
- import json
- import sys
- try:
- from lxml.etree import fromstring
- except:
- print('Please install with pip lxml')
- print('pip install lxml')
- sys.exit(1)
- def get_product_updates():
- base = 'https://update.industry.siemens.com/asu/files/tiaportal/'
- xml = 'UpdatesSummaryCatalog.xml'
- xml_data = urlopen(base + xml).read()
- et = fromstring(xml_data)
- for product in et.findall('Updates/Product'):
- try:
- name = product.xpath('DisplayName')[0].text
- path = product.xpath('Path')[0].text.replace('[MAINURL]', base)
- siwa = product.xpath('SiWA')[0].text
- file = path + siwa
- cabs = []
- for cab in product.xpath('CabFile'):
- if cab.text:
- cabs.append(base + cab.text)
- except (IndexError, TypeError):
- continue
- else:
- yield {'name': name, 'files': list(chain([file], cabs))}
- if __name__ == '__main__':
- print(json.dumps(list(get_product_updates()), indent=4))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement