Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 16, 2010 14:27:56

ziro
От:
Зарегистрирован: 2009-08-13
Сообщения: 225
Репутация: +  8  -
Профиль   Отправить e-mail  

PEP 444

Обнаружил новый драфт по вебдеву на питоне PEP 444. Пока из крупных отличий от PEP-333 обнаружил только поддержку асинхронной отдачи данных.

Кто нибудь сморел уже этот драфт? Есть какие впечатления?



Офлайн

#2 Сен. 18, 2010 15:58:49

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

PEP 444

Какая-то странная тишина. Ожидал некоторого бурления.

Предистория такая.
“Внезапно” выяснилось, что wsgi не работает на Python 3.
Главным образом потому, что в python2 строки были байтами, за их правильное кодирование-декодирование отвечал разработчик wsgi приложения.
Когда строки стали юникодом, все поломалось. В то время как HTTP все еще оперирует байтами-октетами (иногда в ASCII, иногда в какой-нибудь другой кодировке или вообще как последовательностью байт в случае JPEG картинки) - WSGI пытается преобразовывать все в юникод.
Конечно, работает не всегда. Часть функционала отваливается.

Есть еще список недоработок и ошибочных решений в самом WSGI. Разработчики борятся со стандартом в своем коде, зачастую побеждают. Но поправить очень хочется.

В связи с планируемым выходом Python 3.2 вспомнили об этой проблеме. Собственно говоря она затрагивает не только WSGI. Есть список проблем и в других частях стандартной библиотеки (email, например) - просто они не столь критичны.

Возник вопрос: отложить выпуск новой версии и поправить что получится или вырезать wsgi из поставки вообще, пока не будет готов?
Сообщество склоняется к тому, что нужно чинить.

Так и появился этот PEP.

Немного ссылок:

http://lucumr.pocoo.org/2010/5/25/wsgi-on-python-3
http://webcache.googleusercontent.com/search?q=cache:vcje3Kcz1x8J:lucumr.pocoo.org/2009/7/30/nih-in-the-wsgi-world+Armin+Ronacher+wsgi&cd=2&hl=ru&ct=clnk&gl=ua
http://reinout.vanrees.org/weblog/2010/05/24/future-django-wsgi.html



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version