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: Discover all relevant datasets locally, and build remote repo names
          
docstr_tok: ["Discover","all","relevant","datasets","locally",",","and","build","remote","repo","names"]
code: def get_dataset_reponame_mapping(
      self,
      ds,
      name,
      reponame,
      existing,
      recursive,
      recursion_limit,
      res_kwargs,
  ):
      """Discover all relevant datasets locally, and build remote repo names"""
      dss = _get_present_datasets(ds, recursive, recursion_limit)
      # check for existing remote configuration
      toprocess = []
      toyield = []
      for d in dss:
          if (
              existing not in ("reconfigure", "replace")
              and name in d.repo.get_remotes()
          ):
              toyield.append(
                  get_status_dict(
                      ds=d,
                      status="error"
                      if existing == "error"
                      else "notneeded",
                      message=(
                          'already has a configured sibling "%s"',
                          name,
                      ),
                      **res_kwargs,
                  )
              )
              continue
          gh_reponame = (
              reponame
              if d == ds
              else "{}-{}".format(
                  reponame,
                  self.normalize_reponame(
                      str(d.pathobj.relative_to(ds.pathobj))
                  ),
              )
          )
          toprocess.append((d, gh_reponame))
      return toprocess, toyield
  
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 6 for calling the _GitHubLike obj's underlying member method code with example usage: obj.get_dataset_reponame_mapping(ds, name, reponame, existing, recursive, recursion_limit, res_kwargs) and returns: toprocess,  toyield