def upgrade_file(path): """Upgrade to the latest NRML version""" node0 = nrml.read(path, chatty=False)[0] shutil.copy(path, path + '.bak') # make a backup of the original file tag = striptag(node0.tag) gml = True if tag == 'vulnerabilityModel': vf_dict, cat_dict = get_vulnerability_functions_04(path) # below I am converting into a NRML 0.5 vulnerabilityModel node0 = Node( 'vulnerabilityModel', cat_dict, nodes=list(map(riskmodels.obj_to_node, vf_dict.values()))) gml = False elif tag == 'fragilityModel': node0 = riskmodels.convert_fragility_model_04( nrml.read(path)[0], path) gml = False elif tag == 'sourceModel': node0 = nrml.read(path)[0] dic = groupby(node0.nodes, operator.itemgetter('tectonicRegion')) node0.nodes = [Node('sourceGroup', dict(tectonicRegion=trt, name="group %s" % i), nodes=srcs) for i, (trt, srcs) in enumerate(dic.items(), 1)] with open(path, 'w') as f: nrml.write([node0], f, gml=gml)
def upgrade_file(path): """Upgrade to the latest NRML version""" node0 = nrml.read(path, chatty=False)[0] shutil.copy(path, path + '.bak') # make a backup of the original file tag = striptag(node0.tag) if tag == 'vulnerabilityModel': vf_dict, cat_dict = get_vulnerability_functions_04(path) # below I am converting into a NRML 0.5 vulnerabilityModel node0 = LiteralNode( 'vulnerabilityModel', cat_dict, nodes=list(map(riskmodels.obj_to_node, list(vf_dict.values())))) elif tag == 'fragilityModel': node0 = riskmodels.convert_fragility_model_04( nrml.read(path)[0], path) with open(path, 'w') as f: nrml.write([node0], f)