111077SCurtis.Dunham@arm.com# http://stackoverflow.com/questions/15069127/python-configparser-module-\ 211077SCurtis.Dunham@arm.com# rename-a-section 311077SCurtis.Dunham@arm.comdef rename_section(cp, section_from, section_to): 411077SCurtis.Dunham@arm.com items = cp.items(section_from) 511077SCurtis.Dunham@arm.com cp.add_section(section_to) 611077SCurtis.Dunham@arm.com for item in items: 711077SCurtis.Dunham@arm.com cp.set(section_to, item[0], item[1]) 811077SCurtis.Dunham@arm.com cp.remove_section(section_from) 911077SCurtis.Dunham@arm.com 1011077SCurtis.Dunham@arm.com# Checkpoint version F renames an internal member of Process class. 1111077SCurtis.Dunham@arm.comdef upgrader(cpt): 1211077SCurtis.Dunham@arm.com import re 1311077SCurtis.Dunham@arm.com for sec in cpt.sections(): 1411077SCurtis.Dunham@arm.com fdm = 'FdMap' 1511077SCurtis.Dunham@arm.com fde = 'FDEntry' 1611077SCurtis.Dunham@arm.com if re.match('.*\.%s.*' % fdm, sec): 1711077SCurtis.Dunham@arm.com rename = re.sub(fdm, fde, sec) 1811077SCurtis.Dunham@arm.com split = re.split(fde, rename) 1911077SCurtis.Dunham@arm.com 2011077SCurtis.Dunham@arm.com # rename the section and add the 'mode' field 2111077SCurtis.Dunham@arm.com rename_section(cpt, sec, rename) 2211077SCurtis.Dunham@arm.com cpt.set(rename, 'mode', "0") # no proper value to set :( 2311077SCurtis.Dunham@arm.com 2411077SCurtis.Dunham@arm.com # add in entries 257 to 1023 2511077SCurtis.Dunham@arm.com if split[1] == "0": 2611077SCurtis.Dunham@arm.com for x in range(257, 1024): 2711077SCurtis.Dunham@arm.com seq = (split[0], fde, "%s" % x) 2811077SCurtis.Dunham@arm.com section = "".join(seq) 2911077SCurtis.Dunham@arm.com cpt.add_section(section) 3011077SCurtis.Dunham@arm.com cpt.set(section, 'fd', '-1') 3111077SCurtis.Dunham@arm.com 3211077SCurtis.Dunham@arm.comlegacy_version = 15 33