code: def parse_file_name_and_section(self, file_name, section=None, extender=None,
                                      extender_section=None):
          
          if '#' in file_name:
              file_name, parsed_section = file_name.rsplit('#', 1)
          else:
              parsed_section = None
  
          if ':' in file_name:
              package, path = file_name.split(':', 1)
              file_name = pkg_resources.resource_filename(package, path)
  
          if extender:
              if not file_name:
                  # Extended another section in the same file
                  file_name = extender
              elif not os.path.isabs(file_name):
                  # Extended by another file in the same directory
                  file_name = os.path.join(os.path.dirname(extender), file_name)
  
          if section:
              pass
          elif parsed_section:
              section = parsed_section
          elif extender_section:
              section = extender_section
          else:
              section = self.get_default_section(file_name)
  
          return file_name, section
docs: Parse file name and (maybe) section.
  
          File names can be absolute paths, relative paths, or asset
          specs::
  
              /home/user/project/local.cfg
              local.cfg
              some.package:local.cfg
  
          File names can also include a section::
  
              some.package:local.cfg#dev
  
          If a ``section`` is passed, it will take precedence over a
          section parsed out of the file name.