code: def KeywordAnalyzer(lowercase=False, commas=False):
      """Parses whitespace- or comma-separated tokens.
  
      >>> ana = KeywordAnalyzer()
      >>> [token.text for token in ana("Hello there, this is a TEST")]
      ["Hello", "there,", "this", "is", "a", "TEST"]
  
      :param lowercase: whether to lowercase the tokens.
      :param commas: if True, items are separated by commas rather than
          whitespace.
      """
  
      if commas:
          tokenizer = CommaSeparatedTokenizer()
      else:
          tokenizer = SpaceSeparatedTokenizer()
      if lowercase:
          tokenizer = tokenizer | LowercaseFilter()
      return tokenizer
  
imports: from whoosh.analysis.acore import Composable, CompositionError
  from whoosh.analysis.tokenizers import Tokenizer
  from whoosh.analysis.filters import LowercaseFilter
  from whoosh.analysis.filters import StopFilter, STOP_WORDS
  from whoosh.analysis.morph import StemFilter
  from whoosh.analysis.intraword import IntraWordFilter
  from whoosh.analysis.tokenizers import default_pattern
  from whoosh.analysis.tokenizers import CommaSeparatedTokenizer
  from whoosh.analysis.tokenizers import IDTokenizer
  from whoosh.analysis.tokenizers import RegexTokenizer
  from whoosh.analysis.tokenizers import SpaceSeparatedTokenizer
  from whoosh.lang.porter import stem
label_desc: Use image node_id 2 for calling a global function with example usage: KeywordAnalyzer(lowercase, commas) and returns: tokenizer