Сообщения с тегом python

Установка python 3.5 в virtualenv

Все уже слышали про новый pyhton версии 3.5 (https://docs.python.org/3/whatsnew/3.5.html). Я постараюсь описать как начать им пользоваться в вашем виртуальном окружении.

Читать ...


Локальный Continuous Integration сервер

Идея непрерывной интеграции заключается в том, что при любом изменении проекта он пересобирается в условиях приближенных к реальной эксплуатации и каждый раз запускает тесты. Это позволяет моментально отловить баги и исправить их не отходя от кассы, пока ещё помнишь что понаписал.

Читать ...


Запись в БД через sacrud используя SQLAlchemy session.

Для простых CRUD действий с БД, можно воспользоваться модулем action из sacrud. Это немного сократит код и добавит некоторой универсальности в ПО со сложной логикой.

Читать ...


Обновление sacrud и pyramid_ext

Новая версия sacrud 0.0.3. В ней поправлены некоторые баги, добавлены нескучные обои элементы дизайна в расширении для Pyramid и создан отдельный репозитарий с примерами работы разных типов полей (pyramid_sacrud_example). Pyramid_sacrud_example работает только с Postgres потому что включает в себя примеры полей специфичных именно для этой БД (таких как hstore).

Читать ...


Опиум hstore в plpython

Приведу просто пример триггера на plpython который использует данные из поля hstore:

Читать ...


CRUD интерфейс для SQLAlchemy и подключение к Pyramid

Запилил Yet another CRUD интерфейс для SQLAlchemy. По сути это аналог Django админки или FormAlchemy, но ОЧЕНЬ сильно упрощенный, ничего лишнего. Есть поддержка большинства полей + кастомные поля типа файл (для загрузки файлов, изображений) и GUID. Довольно просто подключить к Pyramid проекту и сразу начать работать по адресу http://localhost:6543/sacrud

Читать ...


Объявление флага в цикле Jinja2

Понадобилось мне тут создать флаг в цикле, который можно использовать где нибудь потом в шаблоне. По логике все должно выглядеть примерно так:

Читать ...


Jinja2 Lorem ipsum dolor sit amet

Иногда в шаблоне нужно зафигачить какую-нибудь рыбу типа "Lorem ipsum dolor sit amet", часто в цикле итд. Для этого существует функция lipsum().

Читать ...


Использование SQLAlchemy в дополнениях к Pyramid

У меня есть дополнение к pyramid которое я включаю почти в каждый проект при помощи includeme (include()). Приложение это дает мне простой CRUD интерфейс с Jinja шаблонами малой кровью. Что позволяет избавиться от монстра FormAlchemy. Естественно каждый проект имеет свое название поэтому пришлось применить немного магии что бы создать универсальный механизм получения DBSession в своем подключаемом дополнении.

Читать ...


pyandexmap работа с Яндекс Карты API используя Python

У Яндекс Карт хороший геокодинг и есть API, но нет автодополнение поисковой строки (как в гугле). У гугла плохой геокодинг (для России) но есть автодополнение. Более подробно можно прочитать например здесь. Парадокс какой-то. Я написал простой модуль для вычленения данных через API при помощи питона. Это очень удобно использовать в AJAX запросах. Пример использования здесь (OpenStreetMap, Геокодирование и автодополнение адреса в строке поиска (как у гугла) с помощью Яндекс API :)). Код для изучения/исправления здесь https://github.com/uralbash/pyandexmap.

Читать ...


Размещаем свои python проекты на https://pypi.python.org

Я периодически использую свои скрипты в разных местах, для того что бы не копипастить их постоянно и следить за обновлением удобно добавить их в https://pypi.python.org и устанавливать/обновлять через pip install. Для этого необходимо подготовить наш модуль.

Читать ...


Jinja замена None, Null, итд на пустую строку

В питоне пустые значения возвращаются как None. Поэтому в шаблонах Jinja вместо пустых значений отображаются None. Что бы поправить это нужно изменить метод finalize. Пример из google groups:

Читать ...


Скрипты работающие в окружении проекта на Pylons

Иногда необходимо написать скрипт который выполняется из консоли и использует окружение проекта на Pylons. Копипастю простой пример с pylonshq. Так-как там есть привычка периодически удалять информацию.

Читать ...


Python + ssh или основы paramiko

Для работы с ssh в питоновских скриптах идеально подходит модуль paramiko.

Читать ...


FormAlchemy KeyError: "Key not found: "

Ошибка в FormAlchemy типа KeyError: "Key not found: u'Task--super_task_id'" лечится обновлением:

Читать ...


Установка psycopg2 в virtualenv для Postgres 9.1

При установке psycopg в virtualenv может возникнуть ошибка:

Читать ...


Срезаем пики в RRD при помощи python

В некоторых случаях на rrd графиках появляются пики, как например после перезагрузки сетевой карты:

Читать ...


WTForm валидация

Продолжение статьи готовим Pylons + WTForms. Рассмотрим как создать свой класс для валидации. Здесь можно найти стандартные валидаторы http://wtforms.simplecodes.com/docs/0.6/validators.html

Читать ...


Вот он плеер моей мечты - Peyote

Плеер который в Линуксе нормально отображает кодировки и читает на ура lossless, написан на python, работает в консоле. Интерфейс как в mc - очень удобно музыку перемещать + поддержка мышки. http://peyote.sourceforge.net/about.rus.html

Читать ...


Python + Tornado + RRDTool: температура на улице и в серверной

Рассмотрим как можно мониторить температуру при помощи сервера. Алгоритм довольно простой: подключаем датчик температуры к компу, пишем скрипт который снимает данные с датчика, записываем данные и отдаем по запросу пользователю. Результат будет выглядеть так:

Читать ...