class_docstr: Just a helper which would help to create versioned files in the bucket
code: def __call__(self, filename, prefix="", load=None):
      self._versions[filename] = version = (
          self._versions.get(filename, 0) + 1
      )
      version_str = "version%d" % version
      # if we are to upload fresh content
      k = Key(self._bucket)
      k.key = filename
      # k.set_contents_from_filename('/home/yoh/.emacs')
      base, ext = splitext(filename)
      # content_type = None
      mtype = (
          mimetypes.guess_type(filename)[0]
          or "application/octet-stream"
      )
      headers = {"Content-Type": mtype}
  
      if load is None:
          load = prefix
          if ext == "html":
              load += "<html><body>%s</body></html>" % version_str
          else:
              load += version_str
  
      k.set_contents_from_string(load, headers=headers)
      return k
  
imports: import mimetypes
  from os.path import splitext
  import re
  from datalad.support.network import urlquote, URL
  import logging
  import datalad.log
  from datalad.support.exceptions import CapturedException, DownloadError, AccessDeniedError, AccessPermissionExpiredError, AnonymousAccessDeniedError
  from datalad.utils import try_multiple_dec
  from urllib.request import urlopen, Request
label_desc: Use image node_id 3 for calling the VersionedFilesPool obj's underlying member method code with example usage: obj.__call__(filename, prefix, load) and returns: k