w = CxWriter(fo) w.set_pretty_formatting(True) id_count = node_count + edge_count + 1 w.add_pre_meta_data(ElementMaker.create_pre_metadata_element(CxConstants.NODES, ASPECT_CONSISTENCY_GROUP, ASPECT_VERSION, UPDATE_TIME, [], id_count, len(id_nn))) w.add_pre_meta_data(ElementMaker.create_pre_metadata_element(CxConstants.EDGES, ASPECT_CONSISTENCY_GROUP, ASPECT_VERSION, UPDATE_TIME, [], id_count, len(edges))) w.start() w.start_aspect_fragment(CxConstants.NODES) for node_id, nn in id_nn.items(): w.write_aspect_element(ElementMaker.create_nodes_aspect_element(node_id, nn)) w.end_aspect_fragment() w.write_aspect_fragment(edges) w.end() print('Aspect elements written: ') for name, count in w.get_aspect_element_counts().items(): print(name + ': ' + str(count)) print() print('OK')
# Writing various aspects CxUtil.write_aspect_fragment(w, cx[CxConstants.NODES]) CxUtil.write_aspect_fragment(w, cx[CxConstants.EDGES]) CxUtil.write_aspect_fragment(w, cx[CxConstants.CARTESIAN_LAYOUT]) CxUtil.write_aspect_fragment(w, cx[CxConstants.EDGE_ATTRIBUTES]) # Adding post meta data w.add_post_meta_data(cx_reader.get_post_meta_data()) # Printing out element counts written so far for name, count in w.get_aspect_element_counts().items(): print(name + ': ' + str(count)) print() print() # Adding element counts as post meta data post = AspectElement(CxConstants.META_DATA, w.get_aspect_element_counts()) w.add_post_meta_data(post) # Ending the json list w.end() # Printing to console json_str = fo.getvalue() print(json_str)
print('Infile : ' + str(fi.name)) print('Outfile: ' + str(fo.name)) print() r = CxReader(fi) cx = r.parse_as_dictionary() w = CxWriter(fo) w.set_pretty_formatting(True) w.add_pre_meta_data(r.get_pre_meta_data()) w.add_post_meta_data(r.get_post_meta_data()) w.start() for name, fragment in cx.items(): w.write_aspect_fragment(fragment) w.end() print('Aspect elements written: ') for name, count in w.get_aspect_element_counts().items(): print(name + ': ' + str(count)) print() print('OK')