Статьи с тегом tornado

Tornado и pgettext

Tornado и pgettext

Недавно (26 мая 2015 года) вышел релиз tornado 4.2. В него вошли разные дополнения, пожалуй основные из них - модули tornado.locks и tornado.queues. Они перекочевали из пакета Toro, подробное описание процесса от Jesse Jiryu Davis в его блоге.

Здесь же хочу рассказать о другой маленькой функции, которая была добавлена с моей помощью - pgettext.

Она может быть полезна, когда вы создаете перевод для неоднозначных строк. Допустим есть слово "bat", которое нужно вывести либо на ...

Добавлено 2015-06-05

Tornado i18n and l10n

Tornado i18n and i10n

Статья о том, что такое i18n и i10n и как это реализовать в приложении на tornado. Получилось довольно много букв, но хотелось рассказать доступно обо всем процессе. Сама пошаговая инструкция - во второй половине статьи.

Общие определения

i18n

i18n - сокращение от internationalization. Так называют процесс поддержки разных языков в приложении. Это не сам перевод, а именно техническая составляющая проекта, которая позволяет отображать текст на разных языках, в зависимости от предпочтений пользователя. Обычно реализацией занимается разработчик.

l10n ...

Добавлено 2015-01-31

Задание url для обработчиков 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).

Однако, в паре рабочих проектах, с которыми приходилось работать, эта обертка не использовалась. А так же в некоторых примерах из ...

Добавлено 2014-12-15

Асинхронный Bitcoin RPC клиент на python

Для работы с Bitcoin RPC на python'е есть библиотека Python-BitcoinRPC.

Но недавно мне понадобилось обратиться к API из приложения на tornado. Указанная библиотека работает в синхронном, т.е. блокирующем режиме. Для торнадо было бы намного лучше использовать асинхронную версию. Готовой найти не удалось, поэтому написал свой форк - асинхронный, который использует торнадовский AsyncHTTPClient: https://github.com/st4lk/python-bitcoinrpc-tornado.

Пример (выводит текущее количество блоков в сети Bitcoin):

from bitcoinrpc_async.authproxy import AsyncAuthServiceProxy
from tornado import ioloop ...

Добавлено 2014-01-30

Tornado: пример веб приложения

Tornado: пример веб приложения

Tornado - асинхронный веб фреймворк для python'а. Вначале я приведу краткий перечень плюсов и минусов tornado, а потом расскажу о типовом веб проекте с использованием этого инструмента.

Плюсы tornado

В плюсах и минусах я буду приводить свое личное ощущение по сравнению с django.

1. Асинхронность.

Торнадо представляет из себя бесконечный цикл (ioloop), который постоянно проверяет наличие событий. Все это происходит в одном потоке. К примеру кто-то обратился по адресу /home/. Допустим в качестве обработчика этого ...

Добавлено 2013-12-29