code: def perform_extended_interpolation(self):
          
  
          # Do not allow any interpolation of the section names
          for section in self.sections():
              for option,value in self.items(section):
                  # Check the option name
                  newStr = self.interpolate_string(option, section)
                  if newStr != option:
                      self.set(section,newStr,value)
                      self.remove_option(section,option)
                  # Check the value
                  newStr = self.interpolate_string(value, section)
                  if newStr != value:
                      self.set(section,option,newStr)
docs: Filter through an ini file and replace all examples of
          ExtendedInterpolation formatting with the exact value. For values like
          ${example} this is replaced with the value that corresponds to the
          option called example ***in the same section***
  
          For values like ${common|example} this is replaced with the value that
          corresponds to the option example in the section [common]. Note that
          in the python3 config parser this is ${common:example} but python2.7
          interprets the : the same as a = and this breaks things
  
          Nested interpolation is not supported here.