воскресенье, 29 мая 2011 г.
Метрики, звездочки, флажки...
пятница, 1 апреля 2011 г.
python urllib2 и загрузка файлов на сервер
Возникла такая задача. Из питоновского кода нужно было загружать файл на сервер (без участия браузерных форм). Долго перерывал документацию и гуглил. Постоянно натыкался на неработающие решения, потом начал находить работающие, но с плохой реализацией.
Короче вот самый лучший и адекватный вариант:
http://www.doughellmann.com/PyMOTW/urllib2/#uploading-files
Можно пользовать сразу, но я дописал несколько функций для работы представленого класса с заранее созданым опенером.
понедельник, 21 февраля 2011 г.
Дубровский
Посмотрел довоенную экранизацию - очень злободневно. Тот же рейдерский захват, крепостных поменять на специалистов потерявших работу и можно делать современный ремейк.
воскресенье, 20 февраля 2011 г.
понедельник, 31 мая 2010 г.
четверг, 1 апреля 2010 г.
Продвигаем bash
Прочитав переводную статью о продвинутых командах bash, принял на вооружение следующие:
Запустить последнюю команду с правами рута
Пример притянут за уши - не пытайтесь повторить в домашних условиях :)user@localhost /etc $ mv sudoers sudoers.bak
mv: cannot move `sudoers' to `sudoers.bak': Permission denied
user@localhost /etc $ sudo !!
user@localhost /etc $
Запустить последнюю команду с заменой одной фразы другой
user@localhost ~/tmp $ mkdir somedir
user@localhost ~/tmp $ ^somedir^anotherdir^
Соответственно "anotherdir" тоже будет создана.
Быстрое копирование или переименование файла
user@localhost ~/tmp $ ls
somefile
user@localhost ~/tmp $ mv somefile{,.txt}
user@localhost ~/tmp $ ls
somefile.txt
user@localhost ~/tmp $ cp somefile.txt{,.bak}
user@localhost ~/tmp $ ls
somefile.txt somefile.txt.bak
Вернуться в предыдущую директорию
Это просто любимое!user@localhost ~/tmp $ cd files/mp3
user@localhost ~/tmp/files/mp3 $ cd -
/home/user/tmp
user@localhost ~/tmp $
среда, 26 августа 2009 г.
Визуализация моделей в Django
На определенном этапе разработки сайтов на Django встала необходимость визуализировать модели и связи между ними - держать все в голове стало сложно.
Погуглил и решил что на данном этапе меня вполне устроят возможности django_extensions.
В базовые возможности данного приложение входит команда graph_models из модуля GraphModels.
Но обо всем по-порядку: У данного приложения есть зависимости поэтому в начале нужно установить pygraphviz
В gentoo я это делаю так:
Все возможности его я описать не в состоянии, тема данного поста команда graph_models.
Собственно это дополнительная команда для manage.py, т.е. ее нужно запускать в командной строке как syncdb или runserver
Из всех возможностей синтаксиса данной команды я вынес для себя следующие варианты использования:
1. Вывод диаграммы всех установленных приложений:
2. То же самое, но с группировкой по приложениям - таблицы будут не перемешаны как попало, а сгруппированы по принадлежности к приложениям красивой рамочкой.
Если не использовать ключ -o будет генерироваться .dot файл, что с ним делать потом я не разобрался :) Было бы интересно найти никсовую программу которая бы позволяла вносить дополнительные комментарии, двигать блоки так как удобно, кастомизировать цвета вывода...
P.S. Примеры вывода смотреть на официальной странице.
Погуглил и решил что на данном этапе меня вполне устроят возможности django_extensions.
В базовые возможности данного приложение входит команда graph_models из модуля GraphModels.
Но обо всем по-порядку: У данного приложения есть зависимости поэтому в начале нужно установить pygraphviz
В gentoo я это делаю так:
$ emerge dev-python/pygraphviz
хотя вполне можно обойтись универсальным методом:
$ easy_install pygraphviz
Далее нужно установить django_extensions
Можно установить его стандартно:
$ cd django-command-extensions
$ python setup.py install
Но я предпочитаю, чтобы все от чего зависит проект было вместе с проектом, поэтому я поступаю так:
$ cd project_root
$ hg clone http://hgsvn.trbs.net/django-command-extensions/django_extensions
Далее стандартно добавляю django_extensions к списку установленных приложений:
INSTALLED_APPS += ('django_extensions',)
Все! Приложение можно использовать с данными Вашего проекта.
Все возможности его я описать не в состоянии, тема данного поста команда graph_models.
Собственно это дополнительная команда для manage.py, т.е. ее нужно запускать в командной строке как syncdb или runserver
Из всех возможностей синтаксиса данной команды я вынес для себя следующие варианты использования:
1. Вывод диаграммы всех установленных приложений:
$ python manage.py graph_models -o models_diagramm.png
Ключ -o означает в какой файл выводить.
2. То же самое, но с группировкой по приложениям - таблицы будут не перемешаны как попало, а сгруппированы по принадлежности к приложениям красивой рамочкой.
$ python manage.py graph_models -g -o models_diagramm.png
3. Когда проекты достаточно большие вывод всех моделей понимания не вносит, поэтому есть возможность заказать себе на вывод только те приложения которые интересуют в данный момент:
$ python manage.py graph_models -g -o models_diagramm.png polls
В конец команды можно дописывать через пробел имена именно тех приложений, которые интересуют.
Если не использовать ключ -o будет генерироваться .dot файл, что с ним делать потом я не разобрался :) Было бы интересно найти никсовую программу которая бы позволяла вносить дополнительные комментарии, двигать блоки так как удобно, кастомизировать цвета вывода...
P.S. Примеры вывода смотреть на официальной странице.
Подписаться на:
Сообщения (Atom)
