docstr: Cascade:
      - local (passed in)
      - global
      - hard-coded
docstr_tok: ["Cascade",":","-","local","(","passed","in",")","-","global","-","hard-coded"]
code: def cascade_privacy_settings(
      self,
      mode: Optional[Mode] = None,
      notify: Optional[bool] = None,
      invited_users: Optional[List[str]] = None,
      mode_action: Optional[str] = None,
      message: Optional[str] = None,
  ):
      """
      Cascade:
          - local (passed in)
          - global
          - hard-coded
      """
  
      from .pygraphistry import PyGraphistry
  
      global_privacy = PyGraphistry._config["privacy"]
      if global_privacy is not None:
          if mode is None:
              mode = global_privacy["mode"]
          if notify is None:
              notify = global_privacy["notify"]
          if invited_users is None:
              invited_users = global_privacy["invited_users"]
          if mode_action is None:
              mode_action = global_privacy["mode_action"]
          if message is None:
              message = global_privacy["message"]
  
      if mode is None:
          mode = "private"
      if notify is None:
          notify = False
      if invited_users is None:
          invited_users = []
      if mode_action is None:
          if mode == "private":
              mode_action = "20"  # send default as 'edit'
          else:
              mode_action = "10"
      if message is None:
          message = ""
  
      return mode, notify, invited_users, mode_action, message
  
imports: from typing import List, Optional
  import io, pyarrow, requests, sys
  from graphistry.privacy import Mode, Privacy
  from .ArrowFileUploader import ArrowFileUploader
  from .util import setup_logger
label_desc: Use image node_id 43 for calling the ArrowUploader obj's underlying member method code with example usage: obj.cascade_privacy_settings(mode, notify, invited_users, mode_action, message) and returns: mode,  notify,  invited_users,  mode_action,  message