About |

All articles, tagged with “python”

Создание Postgresql trigger на PL/Python

PostgreSQL отличная и функциональная база данных. Одна из замечательных вещей, которых она поддерживает это создание функций на разных языках программирования ( PL/pgSQL, PL/Tcl, PL/Perl, PL/Python), а не только PL/SQL как большинство СУБД. В этом посте я приведу пример функции для триггера на PL/Python.

 continue reading

Деплоинг Django приложения на Nginx или разворачивание связки Nginx+uWsgi

Итак, начнем:

нам понадобится установленный пакет virtualenv

virtualenv $DOC_ROOT
cd $DOC_ROOT/bin
./easy_install django
cp /var/www/wsgi_app.py $DOC_ROOT/$pypath/
nano /$DOC_ROOT/$pypath/wsgi_app.py #edit PATH_PROJECT to fit your needs

wsgi_app.py listing:

import os, sys                                                                                                                                        
PATH_BASE = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
PATH_PROJECT = os.path.join(PATH_BASE, 'pyprojectname')
activate_this = os.path.join(PATH_BASE, 'bin/activate_this.py')
execfile(activate_this, dict(__file__=activate_this))

sys.path.append(PATH_PROJECT)
sys.path.append(PATH_BASE)

os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

nginx sample config:

server {                                                                                                                                              
listen 80;
server_name sitename.name www.sitename.name;
location / {
uwsgi_pass unix:///var/run/uwsgi.socket;
include uwsgi_params;
uwsgi_param UWSGI_CHDIR /var/www/sitename.name/pypath;
uwsgi_param UWSGI_PYHOME /var/www/sitename.name/;
uwsgi_param UWSGI_SCRIPT wsgi_app;
}
location ~* \.(jpg|gif|png|css|js|swf)$ {
root /var/www/sitename.name/pypath/media/;
}
}

Добавили интеграцию с memori.ru в Wallp Project

Во-первых, УРА!

Wallp Project обзавелся интеграцией с memori.ru. Теперь при добавлении обоев создается закладка на сервисе закладок memori.ru.

Во-вторых, здесь можно посмотреть закладки созданные автоматически при загрузке обоев на b000.ru. В дальнейшем планируем интеграцию движка с другими сервисами закладок.

И в-третьих, готовый кусок кода на питоне для работы с API memori.ru можно сказать с нашего pastebin сервиса — Memori.ru API Python example.

 continue reading

Автоматический following в twitter’e на Python

Т.к. наш Твиттер-бот описанный в предыдущем посте не имел фолловеров, мы решили написать небольшой скрипт для фолловинга за друзьями пользователя твиттера. Тяжелое предложение для восприятия получилось =).

Цель — получить фолловеров в твиттере.
Решение: Прошерстив API твиттера вы обнаружите, что проспамить твиттер не так просто — ограничение на количество запросов, регистрация через капчу, и т.д. Единственный вариант автоматизации который можно заюзать — это фолловинг за пользователями (которые в ответ тоже начинают “дружить” с ботом).

Итак вот скрипт на питоне: http://p.py6.ru/view/7/, готовый пример для интеграции в ваши проекты: python example — эта функция например используется для хостинга картинок. Запускается из консоли. Зависимость — python-twitter. (Для Debian достаточно выполнить — apt-get install python-twitter) Если вы используете Windows — то сами разбирайтесь, что вам нужно поставить.

Help:
Usage: twit-follow.py [options]

Options:
  -h, --help            show this help message and exit
  -u USERNAME, --username=USERNAME
                        Ваш логин в твиттере
  -p PASSWORD, --password=PASSWORD
                        Ваш пароль в твиттере
  -f FOLLOW_USER, --follow=FOLLOW_USER
                        Username (или id) Твиттер пользователя, для анализа и
                        фоловинга за его пользователями
  -d, --debug           Отображать подробно ход процесса выполнения,
                        диагностика

Пример запуска — 
python twit-follow.py -u ваш_логин -p 'Ваш_пароль' -f имя_пользователя_чьих_друзей_мы_будем_добавлять