docstr: Actually uploads the notebook item to the portal
docstr_tok: ["Actually","uploads","the","notebook","item","to","the","portal"]
code: def update_item(
      self,
      item_id,
      item_type,
      item_type_keywords,
      title,
      categories,
      snippet,
      description,
      license_info,
      tags,
      nb_path,
      runtime_stamp,
      thumbnail,
  ):
      """Actually uploads the notebook item to the portal"""
      item_properties = {
          "title": title,
          "snippet": snippet,
          "description": description,
          "licenseInfo": license_info,
          "tags": tags,
          "properties": runtime_stamp,
      }
      if categories:
          item_properties["categories"] = categories
      if item_type:
          item_properties["type"] = item_type
      if item_type_keywords:
          item_properties["typeKeywords"] = item_type_keywords
  
      existing_item = self._gis.content.get(item_id)
      if existing_item:
          log.debug(
              f"item {existing_item.homepage} exists, updating..."
          )
          item_properties["url"] = existing_item.homepage
          existing_item.update(
              item_properties, data=nb_path, thumbnail=thumbnail
          )
          resp = existing_item
      else:
          raise Exception(
              f"Could not find item {item_id} to update. Failing!"
          )
      return resp
  
imports: import os
  import sys
  import argparse
  import traceback
  import json
  import re
  import logging
  import yaml
  import nbformat
  from nbconvert import HTMLExporter
  from arcgis.gis import GIS
label_desc: Use image node_id 6 for calling the ItemsUploader obj's underlying member method code with example usage: obj.update_item(item_id, item_type, item_type_keywords, title, categories, snippet, description, license_info, tags, nb_path, runtime_stamp, thumbnail) and returns: resp