code: def parse_edit_notebook(args):
      edit_notebook = None
      if args.draft_notebook:
          args.targets = {args.draft_notebook}
          edit_notebook = NotebookEditMode(draft_only=True)
      elif args.edit_notebook:
          args.targets = {args.edit_notebook}
          args.force = True
          edit_notebook = NotebookEditMode(args.notebook_listen)
      return edit_notebook
  
imports: import os
  import re
  import sys
  from argparse import ArgumentDefaultsHelpFormatter
  from functools import partial
  from importlib.machinery import SourceFileLoader
  from pathlib import Path
  from typing import Set
  from snakemake_interface_executor_plugins.settings import ExecMode
  from snakemake_interface_storage_plugins.registry import StoragePluginRegistry
  import snakemake.common.argparse
  from snakemake import logging
  from snakemake.api import SnakemakeApi, _get_executor_plugin_registry, resolve_snakefile
  from snakemake.common import SNAKEFILE_CHOICES, __version__, async_run, get_appdirs, parse_key_value_arg
  from snakemake.dag import Batch
  from snakemake.exceptions import CliException, ResourceScopesException, print_exception
  from snakemake.resources import DefaultResources, ResourceScopes, eval_resource_expression, parse_resources
  from snakemake.settings import ChangeType, ConfigSettings, DAGSettings, DeploymentMethod, DeploymentSettings, ExecutionSettings, GroupSettings, NotebookEditMode, OutputSettings, PreemptibleRules, Quietness, RemoteExecutionSettings, RerunTrigger, ResourceSettings, SchedulingSettings, SharedFSUsage, StorageSettings, WorkflowSettings
  from snakemake.target_jobs import parse_target_jobs_cli_args
  from snakemake.utils import available_cpu_count, update_config
label_desc: Use image node_id 19 for calling a global function with example usage: parse_edit_notebook(args) and returns: edit_notebook