class_docstr: Helps to build releases through scripting of steps.
class_docstr_tok: ["Helps","to","build","releases","through","scripting","of","steps","."]
docstr: Breaks release_number into major, minor, patch, and release.
  
  Args:
    release_number: String representing the release number, e.g. 0.1.2 or
      0.2.3.rc1.
  
  Returns:
    tuple:
      major: Major version number.
      minor: Minor version number.
      patch: Patch version number.
      release: Suffix for the release, e.g. rc0. Often an empty string.
docstr_tok: ["Breaks","release_number","into","major",",","minor",",","patch",",","and","release",".","Args",":","release_number",":","String","representing","the","release","number",",","e.g",".","0.1.2","or","0.2.3.rc1",".","Returns",":","tuple",":","major",":","Major","version","number",".","minor",":","Minor","version","number",".","patch",":","Patch","version","number",".","release",":","Suffix","for","the","release",",","e.g",".","rc0",".","Often","an","empty","string","."]
code: def _parse_version_input(self, release_number):
      """Breaks release_number into major, minor, patch, and release.
  
      Args:
        release_number: String representing the release number, e.g. 0.1.2 or
          0.2.3.rc1.
  
      Returns:
        tuple:
          major: Major version number.
          minor: Minor version number.
          patch: Patch version number.
          release: Suffix for the release, e.g. rc0. Often an empty string.
      """
      parts = release_number.split(".")
      if len(parts) < 3:
          logging.error("FLAGS.version_number must be x.x.x or x.x.x.y")
      elif len(parts) == 3:
          return parts[0], parts[1], parts[2], ""
      else:
          return parts[0], parts[1], parts[2], parts[3]
  
file_path: agents/tools/release_builder.py
imports: import fileinput
  import os
  from absl import app
  from absl import flags
  from absl import logging
  from git import Repo
  from git.exc import GitCommandError
  from git.exc import InvalidGitRepositoryError
label_desc: Use image node_id 4 for calling the ReleaseBuilder obj's underlying member method code with example usage: obj._parse_version_input(release_number) and returns: parts,  parts,  parts,  str, parts,  parts,  parts,  parts