def insert()

in augly/text/augmenters/upside_down.py [0:0]


    def insert(self, data: str) -> str:
        if self.granularity == "all":
            return self.flip_text(data)

        tokens = tokenize(data)

        if self.granularity == "word":
            aug_word_cnt = self._generate_aug_cnt(
                len(tokens), self.aug_min, self.aug_max, self.aug_p
            )
            aug_word_idxes = set(
                get_aug_idxes(
                    self, tokens, list(range(len(tokens))), aug_word_cnt, Method.WORD
                )
            )

            for i, token in enumerate(tokens):
                if i in aug_word_idxes:
                    tokens[i] = self.flip_text(token)

        elif self.granularity == "char":
            all_chars = [char for token in tokens for char in list(token)]
            aug_char_idxes = self.generate_aug_idxes(all_chars)
            char_idx = 0

            for t_i, token in enumerate(tokens):
                chars = list(token)

                for c_i, char in enumerate(chars):
                    if char_idx in aug_char_idxes:
                        chars[c_i] = _flip(char)
                    char_idx += 1

                tokens[t_i] = "".join(chars)

        return detokenize(tokens)