class_docstr: Base class for the downloaders
class_docstr_tok: ["Base","class","for","the","downloaders"]
docstr: Return status of the url as a dict, None if N/A
  
  Parameters
  ----------
  url : string
    URL to access
  old_status : FileStatus, optional
    Previous status record.  If provided, might serve as a shortcut
    to assess if status has changed, and if not -- return the same
    record
  
  Returns
  -------
  dict
    dict-like beast depicting the status of the URL if accessible.
    Returned value should be sufficient to tell if the URL content
    has changed by comparing to previously obtained value.
    If URL is not reachable, None would be returned
docstr_tok: ["Return","status","of","the","url","as","a","dict",",","None","if","N\/A","Parameters","--","--","--","--","--","url",":","string","URL","to","access","old_status",":","FileStatus",",","optional","Previous","status","record",".","If","provided",",","might","serve","as","a","shortcut","to","assess","if","status","has","changed",",","and","if","not","--","return","the","same","record","Returns","--","--","--","-","dict","dict-like","beast","depicting","the","status","of","the","URL","if","accessible",".","Returned","value","should","be","sufficient","to","tell","if","the","URL","content","has","changed","by","comparing","to","previously","obtained","value",".","If","URL","is","not","reachable",",","None","would","be","returned"]
code: def get_status(self, url, old_status=None, **kwargs):
      """Return status of the url as a dict, None if N/A
  
      Parameters
      ----------
      url : string
        URL to access
      old_status : FileStatus, optional
        Previous status record.  If provided, might serve as a shortcut
        to assess if status has changed, and if not -- return the same
        record
  
      Returns
      -------
      dict
        dict-like beast depicting the status of the URL if accessible.
        Returned value should be sufficient to tell if the URL content
        has changed by comparing to previously obtained value.
        If URL is not reachable, None would be returned
      """
      return self.access(
          self._get_status, url, old_status=old_status, **kwargs
      )
  
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 14 for calling the BaseDownloader obj's underlying member method code with example usage: obj.get_status(url, old_status) and returns: self