Перезагрузить файл перевода в веб-пирамиде

Я разрабатываю страницу помощника по переводу в своем приложении на основе пирамиды. Новый перевод сохраняется в .po а также .mo файлы через это:

po = polib.pofile(join(root, 'locale', lang, 'LC_MESSAGES', 'myapp.po'))
.....

po.save(join(root, 'locale', lang, 'LC_MESSAGES', 'myapp.po'))
po.save_as_mofile(join(root, 'locale', lang, 'LC_MESSAGES', 'myapp.mo'))

Но новый перевод не вступит в силу, пока я не перезапущу приложение.

Мне нужно перезагрузить файл перевода сразу после сохранения нового файла перевода без перезапуска приложения wsgi.

1 ответ

Переводы кэшируются для повышения производительности в Pyramid, но вы можете настроить pserve для автоматического перезапуска сервера wsgi при изменении файлов. Просто добавь watch_files директива на ваш INI-файл. Наблюдатель использует модуль python glob, поэтому поддерживаемое зависит от того, используете ли вы python2 или python3, но вы можете поэкспериментировать, чтобы найти регулярное выражение, которое работает. (Например, ** не поддерживается на Python 2).

[pserve]
watch_files = myapp/locales/**/*
Другие вопросы по тегам