Category index for “tornado”
Tornado and pgettext
Недавно (26 мая 2015 года) вышел релиз tornado 4.2. В него вошли разные дополнения, пожалуй основные из них - модули tornado.locks и tornado.queues. Они перекочевали из пакета Toro, подробное описание процесса от Jesse Jiryu Davis в его блоге.
Здесь же хочу рассказать о другой маленькой функции, которая была добавлена с моей помощью - pgettext.
Tornado i18n и l10n
Статья о том, что такое i18n и i10n и как это реализовать в приложении на tornado. Получилось довольно много букв, но хотелось рассказать доступно обо всем процессе. Сама пошаговая инструкция - во второй половине статьи.
Задание url для обработчиков Tornado
В tornado, для привязки обработчиков к url’ам, можно передать список из кортежей
(url regex, handler)
при инициализации приложения:application = tornado.web.Application([ (r"/", MainHandler), (r"/some/path/page/(?P<pk>[0-9]+)$", PageHandler), ])
Но не секрет, что гораздо удобнее использовать обертку
tornado.web.url
, которая позволяет присваивать имена для путей (похожа на django’вский url).Асинхронный Bitcoin RPC клиент на python
Для работы с Bitcoin RPC на python’е есть библиотека Python-BitcoinRPC.
Но недавно мне понадобилось обратиться к API из приложения на tornado. Указанная библиотека работает в синхронном, т.е. блокирующем режиме. Для торнадо было бы намного лучше использовать асинхронную версию. Готовой найти не удалось, поэтому написал свой форк - асинхронный, который использует торнадовский AsyncHTTPClient: https://github.com/st4lk/python-bitcoinrpc-tornado.
Tornado: пример веб приложения
Tornado - асинхронный веб фреймворк для python’а. Вначале я приведу краткий перечень плюсов и минусов tornado, а потом расскажу о типовом веб проекте с использованием этого инструмента.