code: def _update_attributes(schema, lines):
      while len(lines) > 0:
          line = lines.pop(0)
          match = re.match(r"\s*(\w*)\s*:\s*(.*)\s*", line)
          if not match:
              raise SyntaxError("Expected ':' in parameter.")
          name = match.group(1)
          line = match.group(2)
          attribute = _find_attribute(schema, name)
          match = re.match(r"(.*),\s*default=(.*)\s*", line)
          default_value = None
          if match:
              line = match.group(1)
              default_value = match.group(2)
          attribute_types = {
              "float": "float32",
              "boolean": "boolean",
              "bool": "boolean",
              "str": "string",
              "string": "string",
              "int": "int32",
              "integer": "int32",
          }
          attribute_type = attribute_types.get(line, None)
          if default_value:
              attribute["default"] = _attribute_value(
                  attribute_type, default_value
              )
          description = []
          while len(lines) > 0 and (
              len(lines[0].strip(" ")) == 0
              or lines[0].startswith("        ")
          ):
              line = lines.pop(0).lstrip(" ")
              description.append(line)
          attribute["description"] = "\n".join(description)
  
file_path: netron/tools/sklearn_metadata.py
imports: import json
  import os
  import pydoc
  import re
label_desc: Use image node_id 5 for calling a global function with example usage: _update_attributes(schema, lines) without return types