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)