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 required name for operator: normalized repo name, python file name, yaml file name and class name.
  
  Args:
      repo (`str`):
          Repo name.
  
  Returns:
      (`NamedTuple[str, str, str, str]`)
          Return the required name for operator: `repo`, `py_file`, `yaml_file`, `class_name`.
docstr_tok: ["Get","the","required","name","for","operator",":","normalized","repo","name",",","python","file","name",",","yaml","file","name","and","class","name",".","Args",":","repo","(","`","str","`",")",":","Repo","name",".","Returns",":","(","`","NamedTuple","[","str",",","str",",","str",",","str","]","`",")","Return","the","required","name","for","operator",":","`","repo","`",",","`","py_file","`",",","`","yaml_file","`",",","`","class_name","`","."]
code: def get_op(
      repo: str,
  ) -> NamedTuple(
      "OpResult",
      [
          ("repo", str),
          ("py_file", str),
          ("yaml_file", str),
          ("class_name", str),
      ],
  ):
      """
      Get the required name for operator: normalized repo name, python file name, yaml file name and class name.
  
      Args:
          repo (`str`):
              Repo name.
  
      Returns:
          (`NamedTuple[str, str, str, str]`)
              Return the required name for operator: `repo`, `py_file`, `yaml_file`, `class_name`.
      """
      repo_name = repo.replace("_", "-")
      file_name = repo_name.replace("-", "_")
      class_name = "".join(
          x.capitalize() or "_" for x in repo_name.split("-")
      )
      OpResult = NamedTuple(
          "OpResult",
          [
              ("repo", str),
              ("py_file", str),
              ("yaml_file", str),
              ("class_name", str),
          ],
      )
      return OpResult(
          repo_name, f"{file_name}.py", f"{file_name}.yaml", class_name
      )
  
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 10 for calling the RepoNormalize obj's underlying member method code with example usage: obj.get_op(repo) and returns: OpResult