Публикации о языке Python   страница 306

Рассказ о конференции Exception#6

29 сентября прошла очередная, шестая по счёту, конференция разработчиков, использующих Python (http://exception.org.ua/). На сие событие со стороны нашей доблестной компании отправились Ищенко Валера и Паэглит Арвид, то бишь мы, которые однажды уже были на exception #04 в марте этого (2007) года.




Основы использования словарей в Zope3

Словарь - это объект специального вида, используемый в zope, в основном, в полях схем, как источник пар ключ-значения в полях вида Choice, Select и аналогичных. При этом словарь может использоваться самостоятельно (т.е. определятся где-то в коде и использоватся там же, без выноса на уровень компонентной архитектуры Zope3), так и в виде специальной утилиты, регистрируемой в реестре и доступной для использования на компонентном уровне.




Zope 3 за 30 минут

Перевод статьи "Zope 3 in 30 Minutes" теперь доступен на русском языке




Ключевые Решения анонсирует выпуск библиотеки SQLTools

SQL Tools - это набор инструментов по работе с реляционными базами данных, который компания KS в настоящее время переносит под Zope3. Новая версия SQL Tools только что была использована в крупном проекте, что заставляет нас рассказать о его существовании и связанных с ним идеях.




Python-cjson: быстрая реализация json парсера

Быстрая реализация json парсера на C++ с удобным и понятным синтаксисом.[>>>]
Код выглядит так:

import re
import cjson
import datetime
# Encoding Date objects:
def dateEncoder(d):
    assert isinstance(d, datetime.date)
    return 'new Date(Date.UTC(%d,%d,%d))'%(d.year, d.month, d.day)
json=cjson.encode([1,datetime.date(2007,1,2),2], extension=dateEncoder)
assert json=='[1, new Date(Date.UTC(2007,1,2)), 2]'
# Decoding Date objects:
re_date=re.compile('^new\sDate\(Date\.UTC\(.*?\)\)')
def dateDecoder(json,idx): json=json[idx:] m=re_date.match(json)
    if not m: raise 'cannot parse JSON string as Date object: %s'%json[idx:] args=cjson.decode('[%s]'



Python и кодировки

Сначала ссылка - самое подробное рассмотрение проблем кодировок и юникода в питоне. Внятно, но по аглицки [>>>]
Теперь от себя - у меня есть код, который мигрирует из проекта в проект последние 2 года. Он позволяет забыть про проблемы кодировок на какое-то время. Выглядит он примерно так:

import locale, codecs; locale.setlocale(locale.LC_ALL, '')
# Теперь в encoding положим текущая кодировку локали.
encoding = locale.getlocale()[1]
# Если кодировка не определилась - это винды. Там полюбому UTF-8 :)
if not encoding:
    encoding = "utf-8"
# Установим дефолтную локаль. Фин



NamedTuple: новое в python2.6

Смотрите какая красота появилась в python2.6a1 [>>>]
Используется примерно так:

from collections import NamedTuple
Point = NamedTuple(‘Point’, ‘x y’)
p = Point(10, 5)
print p.x # напечатает 10
print p.y # напечатает полюбому 5



ActiveState Python 2.5

Обновился ActiveState - долгожданный переезд на ветку 2.5. Для диких, это одна из сборок python под все платформы, главное конечно под Windows. Включает в себя в том числе и кучу библиотек для работы с Win32 API и, что не менее важно, пачку документации на родном английском языке. [>>>]



xmlobjects: еще одна парадигма для xml раппинга

XMLOjbects для питона и xml это как ORM для баз данных [>>>]

По сути своей это оболочка вокруг ElementTree, красивая такая, обектная. Доступ к тегам и пропертям осуществляется через map.




DjangoSnippets

DjangoSnippets. Джанго Сниппетс. Еще раз - Джанго Снипетс. Полезные снипеты для всех кто пишет на джанге [>>>]. В закладки полюбому.