Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python3
- import xml.etree.cElementTree as ET
- import pandas as pd
- import sys
- import xmltodict, json
- from collections import defaultdict
- from utils import json_writer
- PRODUCT_TREE = ''
- WRITE_REF_PRODUCT_TREE_JSON = ''
- def check_name(root):
- if 'name' in root.attrib:
- return root.attrib['name']
- def check_tnr(root):
- if 'tnr' in root.attrib:
- return root.attrib['tnr']
- def check_pro(root):
- if 'PRO' in root.tag:
- return True
- else:
- return False
- def recursion_tree(root):
- global name_list, raw_data, pro_array, pro
- name = check_name(root)
- tnr = check_tnr(root)
- pro = check_pro(root)
- pro_array.append(pro)
- if pro_array[-2:] == [True, False]:
- name_list = name_list[0:-1]
- if name is not None:
- name_list.append(name)
- if tnr is not None:
- for elem in root.getchildren():
- recursion_tree(elem)
- if __name__ == '__main__':
- # Index 0 contains TREE
- tree = ET.parse(PRODUCT_TREE)
- root = tree.getroot()
- doc = root[0]
- # Init Variables
- raw_data[tnr] = name_list
- name_list = []
- raw_data = {}
- pro = False
- pro_array = [False]
- recursion_tree(doc)
- json_writer(WRITE_REF_PRODUCT_TREE_JSON, raw_data)
Add Comment
Please, Sign In to add comment