code: def _get_aug_idxes(self, tokens, aug_min, aug_max, aug_p, mode):
      aug_cnt = self._generate_aug_cnt(
          len(tokens), aug_min, aug_max, aug_p
      )
  
      if mode == Method.WORD:
          idxes = self.pre_skip_aug(tokens)
      elif mode == Method.CHAR:
          idxes = [i for i, t in enumerate(tokens)]
          idxes = self.skip_aug(idxes, tokens)
  
      if len(idxes) == 0:
          if self.verbose > 0:
              exception = WarningException(
                  name=WarningName.OUT_OF_VOCABULARY,
                  code=WarningCode.WARNING_CODE_002,
                  msg=WarningMessage.NO_WORD,
              )
              exception.output()
          return []
      if len(idxes) < aug_cnt:
          aug_cnt = len(idxes)
      aug_idxes = self.sample(idxes, aug_cnt)
      return aug_idxes
  
file_path: nlpaug/nlpaug/augmenter/char/char_augmenter.py
imports: import string
  import re
  from nlpaug.util import Method
  from nlpaug.util.text.tokenizer import Tokenizer
  from nlpaug import Augmenter
  from nlpaug.util import WarningException, WarningName, WarningCode, WarningMessage
label_desc: Use image node_id 7 for calling the CharAugmenter obj's underlying member method code with example usage: obj._get_aug_idxes(tokens, aug_min, aug_max, aug_p, mode) and returns: aug_idxes, list