# http://stackoverflow.com/questions/15069127/python-configparser-module-\ # rename-a-section def rename_section(cp, section_from, section_to): items = cp.items(section_from) cp.add_section(section_to) for item in items: cp.set(section_to, item[0], item[1]) cp.remove_section(section_from) # Checkpoint version F renames an internal member of Process class. def upgrader(cpt): import re for sec in cpt.sections(): fdm = 'FdMap' fde = 'FDEntry' if re.match('.*\.%s.*' % fdm, sec): rename = re.sub(fdm, fde, sec) split = re.split(fde, rename) # rename the section and add the 'mode' field rename_section(cpt, sec, rename) cpt.set(rename, 'mode', "0") # no proper value to set :( # add in entries 257 to 1023 if split[1] == "0": for x in range(257, 1024): seq = (split[0], fde, "%s" % x) section = "".join(seq) cpt.add_section(section) cpt.set(section, 'fd', '-1') legacy_version = 15