docs: def get_available_name(self, name):
          """
          Returns a filename that's free on the target storage system, and
          available for new content to be written to.
          """
          dir_name, file_name = os.path.split(name)
          file_root, file_ext = os.path.splitext(file_name)
          # If the filename already exists, add an underscore and a number (before
          # the file extension, if one exists) to the filename until the generated
          # filename doesn't exist.
          count = itertools.count(1)
          while self.exists(name):
              # file_ext includes the dot.
              name = os.path.join(dir_name, "%s_%s%s" % (file_root, next(count), file_ext))
  
          return name