docs: def multi_splitext(basename):
      """
      Similar to os.path.slittext(), but with special handling for files with multiple extensions,
      such as "archive.tar.gz": Returns a list containg three elements, the first being the
      name without any extensions (taking into account hidden files/leading periods),
      the second being the "full" extension, the third being the extension as returned by
      os.path.splitext.
  
      Examples:
  
          os.path.join('foo.bar')        # => ('foo', '.bar')
          multi_splitext('foo.bar')      # => ['foo', '.bar', '.bar']
  
          os.path.join('foo.tar.gz')     # => ('foo.tar', '.gz')
          multi_splitext('foo.tar.gz')   # => ['foo', '.tar.gz', '.gz']
  
          os.path.join('.foo.tar.gz')    # => ('.foo.tar', '.gz')
          multi_splitext('.foo.tar.gz')  # => ['.foo', '.tar.gz', '.gz']
  
          os.path.join('.htaccess')      # => ('.htaccess', '')
          multi_splitext('.htaccess')    # => ['.htaccess', '', '']
  
          os.path.join('.foo.bar.')      # => ('.foo.bar', '.')
          multi_splitext('.foo.bar.')    # => ['.foo.bar', '.', '.']
  
      """
      groups = list(RE_SPLITEXT.match(basename).groups())
      if not groups[2]:
          groups[2] = groups[1]
      return groups