Gettext в Python. Пример

Posted by & filed under python.

Для интернационализации в python используется модуль gettext. Так как мне было трудно найти рабочий пример, то вставляю его сюда: import gettext root=’/my/directory/’ transLoc = root +»/i18n» t = gettext.translation(‘myapp’, transLoc, languages=[‘ru’]) _= t.ugettext t.install() b=_(«test») Перевод берется из mo файлов, которые в моем случае для РУССКОГО языка распологаются: /my/directory/i18n/ru/LC_MESSAGES/myapp.mo Папка LC_MESSAGES необходима, иначе не работает…. Read more »

SQL escaping in Python

Posted by & filed under PostgreSQL, python.

Довольно простая, но хорошая защита против sql инъекций: sql_part=re.escape(sql_part) В мане сказано: re.escape(string) Return string with all non-alphanumerics backslashed; что подходит для нас. P.S. Если данные передаются в UTF-8, то нужно использовать нечто другое, иначе эта функция экранирует utf-8 символы которые выходят за диапазон ascii.

Интеграция оплаты через BBVA с помощью Python

Posted by & filed under python.

Или можно было озаглавить так: Merchant of BBVA, Spain BBVA испанский банк поэтому не было манов даже на английском, только на испанском. эта инструкция должна сэкономить кучу времени. Итак… С начала как работает интеграция (самое основное): Данные о товаре пересылается через POST на bbva, там пользователь вводит информацию о кредитной карте, если всё удачно то… Read more »

Основные операции над словарями в Python

Posted by & filed under python.

D2={‘spam’:2, ‘eggs’:3} D2.has_key(‘eggs’) # проверка на вхождение ‘eggs’ in D2 # проверка на вхождение D2.keys() # получение ключей D2.values() # получение значений D2.get(key,default) # взятие элемента key, при отсутствие подставляется значение из default D2.update(D1) # объединение словарей D2 и D1 D2.pop(key) # удаление элемента key, и возврат его значения len(D2) # получение количества элементов

Аналог phpinfo в Python

Posted by & filed under Apache, python.

Качаем этот файл: http://www.modpython.org/live/current/lib/python/mod_python/testhandler.py (Копию на всякий пожарный положу сюда) сохраняем на винте, там где находится наш сайт. В настройках апача меняем PythonHandler на наш testhandler: PythonHandler testhandler запускаем наш сайт и видим подобие того, что выдает phpinfo

Работа с setter и getter в Python

Posted by & filed under python.

class C(object): def __init__(self): self._x = None @property def x(self): «»»I’m the ‘x’ property.»»» return self._x @x.setter def x(self, value): self._x = value @x.deleter def x(self): del self._x Замечание: использовать свойства только с новым типом описания классов: class С(object): А не: class C(): Иначе возникают мистические проблемы с гетерами и сеттерами.

urlparse.parse_qs

Posted by & filed under python.

Распарсинг хвоста урла: import urlparse query=’id=1&address=something’ mydict=urlparse.parse_qs(query) Результат: {‘id’:[1],’address’:[‘something’]}

Работа с timezone в Python

Posted by & filed under python.

from pytz import timezone from datetime import datetime tz = ‘Europe/Moscow’ server_time = datetime.utcnow() client_time = timezone(tz).fromutc(server_time) Дублирующая ссылка на код: http://livepad.ru/view/9229aff1