class_docstr: Helper class with a platform abstraction for GitHub-like services
      
class_docstr_tok: ["Helper","class","with","a","platform","abstraction","for","GitHub-like","services"]
docstr: Normalize the essential response properties for the result record
  
  Importantly, `clone_url` is a URL that DataLad can directly clone
  from, and that should be the default preferred access method for read
  access by the largest possible audience. Critically, a particular
  platform, might advertise SSH as default, but DataLad might promote
  anonymous HTTP-access as a default, if supported.
  
  Returns
  -------
  dict
docstr_tok: ["Normalize","the","essential","response","properties","for","the","result","record","Importantly",",","`","clone_url","`","is","a","URL","that","DataLad","can","directly","clone","from",",","and","that","should","be","the","default","preferred","access","method","for","read","access","by","the","largest","possible","audience",".","Critically",",","a","particular","platform",",","might","advertise","SSH","as","default",",","but","DataLad","might","promote","anonymous","HTTP-access","as","a","default",",","if","supported",".","Returns","--","--","--","-","dict"]
code: def normalize_repo_properties(self, response):
      """Normalize the essential response properties for the result record
  
      Importantly, `clone_url` is a URL that DataLad can directly clone
      from, and that should be the default preferred access method for read
      access by the largest possible audience. Critically, a particular
      platform, might advertise SSH as default, but DataLad might promote
      anonymous HTTP-access as a default, if supported.
  
      Returns
      -------
      dict
      """
      return dict(
          reponame=response.get("name"),
          private=response.get("private"),
          clone_url=response.get("clone_url"),
          ssh_url=response.get("ssh_url"),
          html_url=response.get("html_url"),
      )
  
imports: import logging
  import re
  from urllib.parse import urljoin, urlparse
  import requests
  from datalad import cfg
  from datalad.distribution.dataset import EnsureDataset, require_dataset
  from datalad.downloaders.credentials import Token
  from datalad.downloaders.http import DEFAULT_USER_AGENT
  from datalad.interface.common_opts import publish_depends, recursion_flag, recursion_limit
  from datalad.interface.results import get_status_dict
  from datalad.support.constraints import EnsureChoice, EnsureNone, EnsureStr
  from datalad.support.param import Parameter
  from datalad.ui import ui
  from datalad.utils import todo_interface_for_extensions
label_desc: Use image node_id 14 for calling the _GitHubLike obj's underlying member method code with example usage: obj.normalize_repo_properties(response) and returns: dict