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","."]
code: def url_valid(self) -> bool:
      regex = re.compile(
          r"^(?:http|ftp)s?://"  # http:// or https://
          r"(?:(?:[A-Z0-9](?:[A-Z0-9-]{0,61}[A-Z0-9])?\.)+(?:[A-Z]{2,6}\.?|[A-Z0-9-]{2,}\.?)|"  # domain...
          r"localhost|"  # localhost...
          r"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})"  # ...or ip
          r"(?::\d+)?"  # optional port
          r"(?:/?|[/?]\S+)$",
          re.IGNORECASE,
      )
  
      if re.match(regex, self._uri) is not None:
          return True
      return False
  
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 5 for calling the RepoNormalize obj's underlying member method code with example usage: obj.url_valid() and returns: False, True