class_docstr: Base class for the downloaders
class_docstr_tok: ["Base","class","for","the","downloaders"]
docstr: Parameters
  ----------
  url : str
  
  Returns
  -------
  downloader_into_fp: callable
     Which takes two parameters: file, pbar
  target_size: int or None (if unknown)
  url: str
     Possibly redirected url
  url_filename: str or None
     Filename as decided from the (redirected) url
  headers : dict or None
docstr_tok: ["Parameters","--","--","--","--","--","url",":","str","Returns","--","--","--","-","downloader_into_fp",":","callable","Which","takes","two","parameters",":","file",",","pbar","target_size",":","int","or","None","(","if","unknown",")","url",":","str","Possibly","redirected","url","url_filename",":","str","or","None","Filename","as","decided","from","the","(","redirected",")","url","headers",":","dict","or","None"]
code: def get_downloader_session(self, url):
      """
  
      Parameters
      ----------
      url : str
  
      Returns
      -------
      downloader_into_fp: callable
         Which takes two parameters: file, pbar
      target_size: int or None (if unknown)
      url: str
         Possibly redirected url
      url_filename: str or None
         Filename as decided from the (redirected) url
      headers : dict or None
      """
      raise NotImplementedError("Must be implemented in the subclass")
  
imports: import msgpack
  import os
  import sys
  import time
  from abc import ABCMeta, abstractmethod
  import os.path
  from os.path import exists, join, isdir
  from ..None import cfg
  from ..ui import ui
  from ..utils import auto_repr, ensure_unicode, unlink
  from .credentials import CompositeCredential
  from datalad.downloaders import CREDENTIAL_TYPES
  from ..support.exceptions import AccessDeniedError, AccessPermissionExpiredError, AnonymousAccessDeniedError, CapturedException, DownloadError, IncompleteDownloadError, UnaccountedDownloadError
  from ..support.locking import InterProcessLock, try_lock, try_lock_informatively
  from logging import getLogger
label_desc: Use image node_id 7 for calling the BaseDownloader obj's underlying member method code with example usage: obj.get_downloader_session(url) without return types