Думали ли вы (в очередной раз подготавливая среду для Python) о том, как было бы здорово, если бы не приходилось настраивать с нуля рабочее окружение (да ещё и под разными операционными системами), а можно было бы сесть и просто начать писать? Я случайно открыл для себя pythonanywhere.com — сервис, позволяющий вести разработку на Python онлайн, прямо в браузере. Под катом — описание сервиса с картинками и видео.
Читать полностью »
Рубрика «python» - 343
Возьми Python с собой
2012-05-24 в 13:29, admin, рубрики: django, python, Песочница, метки: Django, pythonArgparse — парсим аргументы и параметры командной строки с легкостью
2012-05-24 в 2:58, admin, рубрики: parser, python, метки: parser, python Начиная с версии Python 2.7, в набор стандартных библиотек была включена библиотека argparse для обработки аргументов (параметров, ключей) командной строки. Хотелось бы остановить на ней Ваше внимание.
Читать полностью »
Python-биндинги для libsass. Эксклюзивно для Хабра
2012-05-23 в 18:06, admin, рубрики: binding, css, libsass, python, sass, scss, Веб-разработка, метки: binding, libsass, python, sass, scssВ топике SASS против LESS читатель morr упомянул интересный libsass — реализацию SASS на C
На минувшем Railsconf 2012 был отдельный доклад про sass, где анонсировали фичи над которыми сейчас ведётся работа, и которые появятся в следующем релизе:
Читать полностью »
Django и особенности использования транзакций в MySQL
2012-05-20 в 16:00, admin, рубрики: django, innodb, mysql, orm, python, transactions, проблемы, транзакции, метки: Django, innodb, mysql, orm, python, transactions, проблемы, транзакции Наверное всем известно, что Django является одним из самых популярных фреймворков для web-разработки на python-е. И даже если в основе web-проекта лежит сторонний код, то зачастую при разработке используют отдельные части этого фреймворка — например ORM. В данной статье я хотел бы рассказать об особенностях использования Django ORM при работе с базой данных MySQL, а именно про транзакции и подводные камни, связанные с ними. Так, например, если в какой-то момент вы осознаёте, что вместо ожидаемых данных, возвращается совершенно другой результат, то возможно, данная статья поможет разобраться что к чему.
Читать полностью »
Django, Staticfiles, Windows и UnicodeDecodeError
2012-05-19 в 10:31, admin, рубрики: django, python, windows, метки: Django, windows Разработчикам, не сидящим все время под windows, но иногда там появляющимся оная операционка частенько преподносит сюрпризы. Столкнувшись с одним из них спешу поделиться, ибо метод лечения крайне неочевиден. На понимание, что ни Django ни ваш код не виноваты может уйти не один час…
Читать полностью »
Мультиаплоад файлов, версия N
2012-05-18 в 16:26, admin, рубрики: django, multiupload, python, метки: Django, multiupload Еще с давних времен, когда интернет был молодым и медленным, самым распространенным браузером был не IE, а Mosaic, в интернет не ходили, а дозванивались… меня часто мучал вопрос — почему в файловых диалогах можно выбрать всего один файл? Почему если в форме есть три файловых поля, то в каждое из них надо тыкать? Неужели нельзя удобнее?
Шло время, появился javascript, CGI, но файлополя были все также эгоистичны. Потом появился флеш, html5, ситуация начала меняться, но… Файловое поле имеет ту-же самую суть — файл, а не файлы! Хотя есть множество обходных методов…
Читать полностью »
Пишем модуль для авторизации в VK API
2012-05-16 в 13:49, admin, рубрики: python, Вконтакте API, метки: python, vkontakte api, вконтакте apiНа днях возникла необходимость сохранить все фотографии из своего фотоальбома ВКонтакте на жесткий диск. Естественно, вариант, с сохранением фотографий по одной, меня не устроил. Тут вспомнилось, что у ВКонтакте есть API. Пять минут чтения мануалов, и все нужные функции найдены. Единственная проблема – не существует нормального способа, для получения доступа к API. В документации сказано следующее:
Процесс авторизации приложения состоит из 3-х шагов:
- Открытие окна браузера для аутентификации пользователя на сайте ВКонтакте.
- Разрешение пользователем доступа к своим данным.
- Передача в приложение ключа access_token для доступа к API.
На первый взгляд, набросать простенький портабельный скрипт не получится. Хотя, что мешает нам притвориться браузером?
Читать полностью »
Пару месяцев назад я пришел к выводу, что я неправильно работаю с HTTP. И я настолько глубоко в этой кроличьей норе, что уже практически невозможно что либо исправить.
Главная проблема в том, что я никогда не добавлял достаточно абстракций в свои HTTP-библиотеки.
Объекты запроса и ответа (request и response) практически не скрывают деталей HTTP. Я имею в виду, что вы не можете просто сериализовать эти объекты и ожидать что все будут работать. Сериализация возможно работает для response объектов в werkzeug и других библиотеках и фреймворках. Если вы хорошо знаете внутренности своей библиотеки, то вы возможно сможете сериализовать и Request объект.
Но главное, что это не было предусмотрено при проектировании этих фреймворков — все они тонкие обертки над внешними ресурсами — над TCP соединением с браузером.
Читать полностью »
Делаем бэкап музыкальной базы vkontakte с помощью Python
2012-05-15 в 6:24, admin, рубрики: python, метки: pythonГод назад я захотел в машину флешку с винегретом из музыки, которая была у меня в плейлисте контакта. А там, к слову, почти 1400 треков.
Итак, первое, что я сделал — октрыл список расширений оперы и набрал в поиске «vkontakte». Но вот оказия, все приложения предлагали качать по одному треку, в основном добавляя рядом с ним кнопочку «скачать». В принципе, это удобно, если надо стянуть оттуда один-два трека, но вот если их 1400…
Следующий моим шагом было открытие страницы с музыкой и внимательная медитация над ней, с целью распарсить страницу, выдрав оттуда ссылки и названия. Слегка подумав, я решил, а почему бы снова не использовать вконтактовый API? Ведь опыт использования у меня уже есть (писал десктопный плеер на Qt). Но лепить полноценное приложение, тем более на плюсах или каком-либо другом языке, мне показалось слегка не умным решением. И тут я подумал — черт возьми, есть же python, наклепаю скрипт и стяну все. Итак, выбор сделан, начинаем кодить.
Открываем Geany и пишем первые строчки… И вот тут-то моя фантазия и желание лепить комбайны из ничего опять разыгрались. Дальше под катом.
Читать полностью »
Moscow Django Meetup #3
2012-05-12 в 15:09, admin, рубрики: django, meetup, python, метки: Django, meetup
Хотим поделиться впечатлениями от третьей московской встречи Django-девелоперов, она же Moscow Django Meetup. Благодаря организаторам из GreenfieldProject и Seven Quark в этот раз удалось подыскать для встречи отличное место: один из вместительных залов MOD Design. Очень уютное, близко к центру, а главное, всем хватило места и было удобно. Огромный проекционный экран, кликер для докладчика, вкусный кофе в перерыве, что ещё надо для хорошего митапа.
В программе были заявлены 5 докладов: 3 полноценных по 20 минут и два укороченных по 10, разделённые одним кофебрейком. Сколько пришло народу из почти сотни зарегистрированных сказать сложно, человек 50-60, вероятно, кто-то не успел
прийти в себя после праздников. На фото зал минут за 10-15 до начала, потом народ ещё подтянулся.
Читать полностью »