Babel: compila arquivos de tradução ao chamar o setup.py install
Estou desenvolvendo um aplicativo Flask usando Babel. Graças aIntegração Distutils / Setuptools, todos os parâmetros das funções de compilação / extração / ... são armazenados emsetup.cfg
compilar os arquivos i18n é tão fácil quanto
./setup.py compile_catalog
Ótimo. Agora eu gostaria que isso fosse feito automaticamente ao executar
./setup.py install
Nomake
palavras de, isso seria deixarinstall
alvo dependecompile_catalog
alvo.
Armazenamos apenas a tradução (.po
) no repositório de códigos..gitignore exclui.mo
e.pot
arquivos sejam rastreados.
Quando um desenvolvedor faz uma nova revisão do código, ele executa
pip install -r requirements.txt
para atualizar dependências e instalar o projeto no modo de desenvolvimento. Em seguida, usando a linha de comando acima, ele compila o binário de tradução (.mo
) arquivos.
Existe uma maneira simples e recomendada de modificarsetup.py
fazer as duas operações em uma única etapa? Ou estou tentando usar indevidamentesetuptools
?
O uso de um script como esse funcionaria para fins de desenvolvimento:
#!/bin/sh
./setup.py compile_catalog
pip install -r requirements.txt
mas eu gostaria de uma solução que também funcione quando o pacote é instalado com osetup.py
instruções de instalação, como se instaladas a partir do PyPi.
Devo entender issosetuptools
não devem ser usados dessa maneira, e as pessoas que distribuem software compilam seus arquivos de tradução manualmente ou usando scripts personalizados ao criar seus arquivos, em vez de confiar emsetup.py
compilá-los no momento da instalação?
Não encontrei muitas postagens na Internet abordando isso. Os que eu achei envolvidos na execuçãopybabel
interface de linha de comando de uma funçãosetup.py
, que parece uma pena, pois perde o ponto de integração das ferramentas de instalação.