class_docstr: Special custom remote allowing to obtain files from archives
  
  Archives must be under annex'ed themselves.
code: def checkurl(self, url):
      # TODO:  what about those MULTI and list to be returned?
      #  should we return all filenames or keys within archive?
      #  might be way too many?
      #  only if just archive portion of url is given or the one pointing
      #  to specific file?
      lgr.debug("Current directory: %s, url: %s", os.getcwd(), url)
      akey, afile, attrs = self._parse_url(url)
      size = attrs.get("size", None)
  
      # But reply that present only if archive is present
      # TODO: this would throw exception if not present, so this statement is
      # kinda bogus
      akey_path = self.get_contentlocation(akey, absolute=True)
      if akey_path:
          # Extract via cache only if size is not yet known
          if size is None:
              # if for testing we want to force getting the archive extracted
              efile = self.cache[akey_path].get_extracted_filename(
                  afile
              )
              efile = ensure_bytes(efile)
  
              if op.exists(efile):
                  size = os.stat(efile).st_size
  
          # so it was a good successful one -- record
          self._last_url = url
  
          if size is None:
              return True
          else:
              # FIXME: providing filename causes annex to not even talk to
              # ask upon drop :-/
              return [dict(size=size)]  # , basename(afile))
  
      else:
          # TODO: theoretically we should first check if key is available
          # from any remote to know if file is available
          return False
  
imports: import logging
  import os
  import os.path
  import shutil
  from operator import itemgetter
  from pathlib import Path
  from urllib.parse import urlparse
  from annexremote import UnsupportedRequest
  from datalad.consts import ARCHIVES_SPECIAL_REMOTE
  from datalad.customremotes import RemoteError
  from datalad.customremotes.main import main
  from datalad.distribution.dataset import Dataset
  from datalad.support.annexrepo import AnnexRepo
  from datalad.support.archives import ArchivesCache
  from datalad.support.cache import DictCache
  from datalad.support.exceptions import CapturedException
  from datalad.support.locking import lock_if_check_fails
  from datalad.support.network import URL
  from datalad.utils import ensure_bytes, get_dataset_root, getpwd, unique, unlink
  from .base import AnnexCustomRemote
label_desc: Use image node_id 8 for calling the ArchiveAnnexCustomRemote obj's underlying member method code with example usage: obj.checkurl(url) and returns: False, True, list