in pyrit/prompt_converter/unicode_confusable_converter.py [0:0]
def _get_homoglyph_variants(self, word: str) -> list:
"""
Retrieves homoglyph variants for a given word using the "confusable_homoglyphs" package.
Args:
word (str): The word to find homoglyphs for.
Returns:
list: A list of homoglyph variants for the word.
"""
try:
# Check for confusable homoglyphs in the word
confusables = is_confusable(word, greedy=True)
if confusables:
# Return a list of all homoglyph variants instead of only the first one
return [homoglyph["c"] for item in confusables for homoglyph in item["homoglyphs"]]
except UnicodeDecodeError:
logger.error(f"Cannot process word '{word}' due to UnicodeDecodeError. Returning empty list.")
return []
# Default return if no homoglyphs are found
return []