Restless 05.02.2010 22:50
Похожие на fitz — Совместное использование QtDesigner и PyQt4
bobry 29.10.2009 05:50
Python — rlcompleter: дополнение на месте
Все кто хоть чуть-чуть знаком с python, знают как удобно бывает, время от времени, проверить работоспособность чего-нибудь в интерпритаторе. Лично у меня постоянно вылетают из головы названия методов/функций итп, посему частенько приходится писать чтонибудь а ля:
И все еще достаточно терпимо, когда список, возвращаемый dir сравнительно небольшой, как выше, но когда он в два, а то и три, раза больше - найти нужный пункт становится проблемматично. На помощь, в таком случае, приходит модуль rlcompleter. Чтобы проиллюстрировать, как это работает приведу пример из официальной документации:
К слову, упомянутый выше модуль readline помимо дополнения, имеет еще одну полезную функцию - восстановление истории предыдущих сеансов работы с интерпритатором, в виде функций read_history_file и write_history_file.
Чтобы заставить интерпритатор автоматически загружать все эти вкусности делаем следующее:
создаем в домашнем каталоге файл .pystartup (вообще говоря, выбор местоположения и имени этого файла не критичен, так что файл может находиться где угодно и назывться как вам хочется)
добавляем в этот файл строчки:
устанавливаем в ~/.bashrc (.zshrc, .cshrc w\e) значение переменной PYTHONSTARTUP
1 |
наслаждаемся готовым результатом :)
ЗЫ: хочется заранее разочаровать пользователей Windows, модуль , используемый в этом решении, имеет только Unix реализацию.
nvbn 12.06.2010 19:14
Python — [Решено]pygtk и многопоточность
Решил написать штуку для deadbeef в indicator applet, всё работает, но автоматически не меняется пункт с названием песни.
08.12.2010 21:40
RANUX — Модульное тестирования в Python на примере копирования файлов
На днях встала задача написать скрипт копирующий новые файлы из одной директории в другую и пропускать ранее скопированные. Если возникают какие-либо ошибки, то все они записываются в лог.Хочу обратить ваше внимание, что все тестовые методы изолированны друг от друга, так что если сломается один метод, то другие продолжат выполняться. А так же методы setUp и tearDown подготавливают среду для выполнения тестов.
wiz 01.03.2011 00:16
Python — Система автоматической сборки
Программист зверь ленивый, поэтому всё, что будет делаться больше одного раза надо непременно заскриптовать.Я уже некоторое время ковыряю TDD и задача постоянного контроля качества для меня становится всё актуальней. Особенно при пополнении команды новыми разработчиками.
Сначала я запускал тесты руками: save, switch, $ nosetests. Потом к тестам добавились проверялки качества кода и пришлось всё засунуть в скрипт:
1 2 3 4 |
Скрипт запускать каждый раз ужасно лениво, поэтому небольшая оболочка на inotifywait стала запускать тесты и проверки после каждого сохранения:
1 2 3 4 |
Тут я стал более-менее доволен происходящим и даже на некоторое время расслабился. Но ведь программист кроме того, что ленив ещё и горд, поэтому результаты хочется кому-нибудь показать. Чтобы вести историю происходящего (которая очень помогает когда заходит начальник начальника и спрашивает: «ну-с, чем вы занимались последний месяц?») уже есть система контроля версий. Но она показывает только, что сделано и не даёт обзора успешности каждой ревизии. Получается что код лежит, но непонятно в каком он состоянии и что где ещё надо сделать.
Кроме того довольно тяжело следить за коллегами, которые тоже могут что-то сделать и забыть прогнать тесты, в результате в репозитории лежит битый код, не прошедший code review и при очередном pull может внезапно начаться clusterfuck.
И тут очень вовремя kmmbvnr@lj выпустил скринкаст, в котором он демонстрировал интеграцию тестирования для django-проектов с сабжем Jenkins (бывш. Hudson). Посмотрел я на все эти красоты, графики и отчёты и тоже захотел чтобы всё само пело и играло. Но у него django-jenkins, как и следует из названия, встраивается в джангу и генерит отчёты используя хитрую систему. Мой проект до джанги не дорос и скорее всего не дорастёт — это достаточно тривиальное WSGI-приложение, которое правда стремительно разрастается. Пришлось поднимать всё с нуля.
Воскресенье я на это убил, но в целом всё довольно прямолинейно и теперь у меня есть симпатичные отчёты:
Что внутри?
sevka 20.06.2011 16:50
Я рекомендую — Сеть NFS в Nautilus
Мне долго не давала покоя ситуация с NFS (Network file system) в Ubuntu. В итоге я написал плагин для Наутилуса, который позволяет расшаривать папки в NFS и броузить NFS.
dront78 27.04.2013 07:11
Я рекомендую — Забудь ключи архиватора
Python Console MultiarchiverПоддерживает 7z (.7z), ACE (.ace), ADF (.adf), ALZIP (.alz), APE (.ape), AR (.a), ARC (.arc), ARJ (.arj), BZIP2 (.bz2), CAB (.cab), COMPRESS (.Z), CPIO (.cpio), DEB (.deb), DMS (.dms), FLAC (.flac), GZIP (.gz), LRZIP (.lrz), LZH (.lha, .lzh), LZIP (.lz), LZMA (.lzma), LZOP (.lzo), RPM (.rpm), RAR (.rar), RZIP (.rz), SHN (.shn), TAR (.tar), XZ (.xz), ZIP (.zip, .jar) and ZOO (.zoo) форматы.
С TAR, ZIP, BZIP2 and GZIP умеет работать нативно, не требуя установки самих архиваторов.
ЗЫ. Не знал, что во FLAC можно файлы хранить, аффтор жжот
Наверное MKV нужно добавить, хороший контейнер, по идее не хуже TAR
smacker 03.12.2009 17:11
Python — Инструментальные среды разработки для Python
Писать, как известно, можно где угодно и как угодно. Вплоть до скриптов на листке бумаги, а интерпретатор держать в голове. Всё зависит от личных предпочтений того или иного человека. Я расскажу о тех средах в которых хоть немного успел поработать. И начну с самого просто:
alvelin 16.06.2010 08:47
Python — Django-buildout - способ быстрого развертывания проекта на Django
Для тех, кто не в курсе: buildout это набор python-скриптов, облегчающий развертывание приложений.Установка, естественно, весьма тривиальна:
easy_install zc.buildout
либо
pip install zc.buildout
С основной (но не слишком подробной) документацией можно ознакомиться здесь -ссылка и здесь - http://buildout.org/.
На глубокое знание по данному вопросу я, естественно, не претендую (тем паче, что при помощи buildout'а можно делать довольно-таки удивительные штуки). Главным поводом для шевеления в данном направлении было то, что единственный стоящий recipe для Django - djangorecipe был заброшен автором еще в младенческой версии - 0.20 (сиречь: не поддерживает ветку 1.2.х)
В связи с этим ваш непокорный навалял на коленке за 20 минут небольшой, но вполне рабочий эрзац (о чем уже писал в своем блоге). Точнее - вырезал его из более крупного собственного buildout'а. С результатом трудов можно ознакомится здесь - github. Там же можно найти и короткую инструкцию по обращению со всем этим делом.
На гордое звание recipe поделие это, конечно, не претендует - мной был набросана всего лишь пара-тройка шаблонов. Но со свой задачей они справляются.Существовавший djangorecipe переделывать не стал (хотя все дело там в нескольких строчках) - мне самому удобнее пользоваться именно шаблонами, т.к. в них гораздо проще вносить изменения. Сейчас шаблоны buildout'a неспешно переводятся на Jinja2, но, боюсь, они уже будут не столь просты и более специфичны.
Для бОльшей автоматизации - если вы используете Eclipse, - советую посмотреть в сторону rbco.recipe.pyeclipse, позволяющего, среди прочего, настроить автокомплит и прочие прелести жизни.
Если кому интересно, то могу подробнее написать про buildout.
RANUX 12.12.2010 12:14
Python — Урок 1.1 TDD для начинающих на Python
Представляю вашему вниманию первую часть первого урока посвящённую разработке через тестирование. Надеюсь будет полезно:) Старался написать максимально простым языком:) Комментарии приветствуются.Добро пожаловать на серию уроков по Test Driven Development. Для тех кто ещё не знает что такое TDD: Разрабо?тка че?рез тести?рование (англ. test-driven development) — техника программирования, при которой модульные тесты для программы или её фрагмента пишутся до самой программы и, по существу, управляют её разработкой. Основная идея - реализовать правильно работающий функционал, обеспечить возможность повторного использования и простого изменения структуры исходного кода, при этом не изменяя его поведения (рефакторинг)