def _generate_fields(email, input, tags): """ Generate the terms to swap out, randomly. :param models.Email email: The input email message. :param string input: The input string. :param list tags: The tags of the input string. """ input_idx = 0 for tag in tags: if tag[1] in repl_prop and random() < repl_prop[tag[1]]: # make a field lib = Lib(email=email, original=tag[0], position=input_idx, description=tagdict[tag[1]][0]) lib.put() input_idx = input_idx + len(tag[0]) while input_idx < len(input) and (input[input_idx] == ' ' or input[input_idx] == '\r' or input[input_idx] == '\n'): input_idx += 1