class_docstr: To normalize the repo.
  
  Args:
      uri (`str`):
          The uri of the repo.
class_docstr_tok: ["To","normalize","the","repo",".","Args",":","uri","(","`","str","`",")",":","The","uri","of","the","repo","."]
docstr: Get the full uri.
  
  Returns:
      (`str`)
          The full uri from self._uri.
docstr_tok: ["Get","the","full","uri",".","Returns",":","(","`","str","`",")","The","full","uri","from","self._uri","."]
code: def get_full_uri(self) -> str:
      """
      Get the full uri.
  
      Returns:
          (`str`)
              The full uri from self._uri.
      """
      result = urlsplit(self._uri)
      path = result.path
      query = dict(parse_qsl(result.query))
      if not result.scheme:
          result = result._replace(scheme=self._scheme)
      if not result.netloc:
          result = result._replace(netloc=self._netloc)
      if "ref" not in query:
          result = result._replace(
              query=f"{result.query}&ref={self._ref}"
          )
      if path.endswith("]"):
          path = self.mapping(path)
      if "/" not in path:
          self._has_ns = False
          result = result._replace(path=f"/{self._author}/{path}")
      elif len(path.split("/")) == 2:
          result = result._replace(path=f"/{path}")
  
      full_uri = result.geturl()
      return full_uri
  
file_path: towhee/towhee/utils/repo_normalize.py
imports: import re
  from urllib.parse import urlparse, parse_qsl, urlsplit
  from typing import NamedTuple
label_desc: Use image node_id 3 for calling the RepoNormalize obj's underlying member method code with example usage: obj.get_full_uri() and returns: full_uri