Módulo de correção automática (modo de entrada rápida de regras)

O que faz

Quando você digita uma palavra simples (sem aspas ou sintaxe Python) em um arquivo de mapa como FUZZY_MAP_pre.py, o sistema o converte automaticamente em uma regra válida.

Esta é a maneira mais rápida de criar novas regras — não há necessidade de lembrar o formato.

Exemplo

Você digita isso em FUZZY_MAP_pre.py:

oma

O módulo de correção automática detecta um NameError (palavra simples, Python não válido) e transforma o arquivo automaticamente em:

# config/maps/.../de-DE/FUZZY_MAP_pre.py
import re # noqa: F401
# too<-from
FUZZY_MAP_pre = [
    ('oma', 'oma'),
]

Agora edite a regra para o que você realmente precisa:

('Oma', 'oma'),              # capitalize
('Großmutter', 'oma'),       # synonym
('Thomas Müller', 'thomas'), # from a phone book

##Como funciona

O módulo scripts/py/func/auto_fix_module.py é acionado automaticamente quando o Aura detecta um NameError ao carregar um arquivo de mapa.

Então:

  1. Adiciona o cabeçalho do caminho do arquivo correto

  2. Adiciona import re se estiver faltando

  3. Adiciona a definição de lista FUZZY_MAP_pre = [

  4. Converte palavras simples em tuplas ('word', 'word'),

  5. Fecha a lista com ]

Regras e Limites

  • Funciona apenas em arquivos menores que 1 KB (limite de segurança)

  • Aplica-se apenas a: FUZZY_MAP.py, FUZZY_MAP_pre.py, PUNCTUATION_MAP.py

  • O arquivo deve estar em uma pasta de idioma válida (por exemplo, de-DE/)

  • Funciona com várias palavras ao mesmo tempo (por exemplo, de uma lista telefônica)

Problemas conhecidos (não totalmente testados)

⚠️ Este módulo é funcional, mas não foi testado exaustivamente. Os seguintes casos podem não funcionar corretamente:

  • Números5 ou 6 não são identificadores Python válidos, a correção automática pode não lidar com eles

  • Caracteres especiais – palavras com -, ., tremas não podem acionar um NameError

  • Entradas com várias palavrasthomas mueller (com espaço) causa SyntaxError e não NameError, então a correção automática pode não ser acionada

  • Valores separados por vírguladrei, vier pode ser inserido como está sem se tornar uma tupla adequada

Se a correção automática não for acionada, adicione a regra manualmente: CODE_BLOCO_3

O comentário # too<-from

Este comentário é adicionado automaticamente como um lembrete da direção da regra:

('replacement', 'input word'),

Significado: saída (também) ← entrada (de). A substituição vem primeiro.

Para PUNCTUATION_MAP.py a direção é invertida: # from->too

Entrada em massa de uma lista

Você pode colar várias palavras de uma vez:

CODE_BLOCO_5

Cada palavra simples se torna sua própria regra:

too <- from

Em seguida, edite cada substituição conforme necessário.

Arquivo: scripts/py/func/auto_fix_module.py