Рубрика «python» - 346

О том, куда пристроить левое полушарие вашего ITmozg'а.

Left brain needed
Печатная реклама «Left Brain Right Brain, Einstein» принадлежит Shalmor Avnon Amichay/y&r Interactive Tel Aviv
Читать полностью »

Вступление

Уже около двух лет я участвую в OpenSource проекте Source Analyzer, и вот появилась необходимость написать парсер для языка Python, который должен уметь строить граф вызовов (Call Graph) и граф зависимостей классов (Class Graph Dependency). Если точнее, граф строится с помощью других инструментов, а парсер должен лишь подготовить для этих инструментов данные.

Процесс работы над парсером был довольно занятным и мне бы хотелось поделиться с вами приобретенным опытом, а также поведать о некоторых подводных камнях, которые встретились на этапе разработки.
Читать полностью »

Создание RESTful API в Google App Engine на основе Flask
Гомес Хульё Марильё де Серванте — известный международный наркобарон, который беспокоится о качестве предоставляемых его организацией услуг. По этому он, Гомес, решил разработать систему online-заказов для своих партнёров.

Партнёры Гомеса находятся по всему миру, очень ценят мобильность (специфика бизнеса такая) и предпочитают использовать мобильные клиенты. По этому было принято решение разработать универсальный и простой API, к которому каждый из партнёров мог бы обращаться при помощи любых самостоятельно написанных решений.
Читать полностью »

Понимаем декораторы в Pythone, шаг за шагом. Шаг 2

И снова доброго времени суток всем читателям!
Спасибо, за проявленый интерес к первой части перевода, надеюсь, вторая вас так же не разочарует.

Итак, в первой части данной статьи мы совершили базовое знакомство с декораторами, принципами их работы и даже написали свой вручную.
Однако, все декораторы, которые мы до этого рассматривали не имели одного очень важного функционала — передачи аргументов декорируемой функции.
Что ж, исправим это недоразумение!
Читать полностью »

Привет. Была поставлена задача реализовать геолокацию (google maps v3) для пользователей в одном из проектов на django, хочу поделиться своим решением.

Необходимый функционал:

  1. Вывод карты с маркером текущего положения, возможность перемещать маркер (dragged), ставить по click событию
  2. Поиск по адресу (autocomplete)
  3. Сохранение как координат, так и самого адреса (если он имеет место быть)

Читать полностью »

Понимаем декораторы в Pythone, шаг за шагом. Шаг 1

На Хабре множество раз обсуждалась тема декораторов, однако, на мой взгляд, данная статья (выросшая из одного вопроса на stackoverflow) описывает данную тему наиболее понятно и, что немаловажно, является «пошаговым гидом» по вопросу декораторов, позволяющим новичку овладеть этой техникой сразу на достойном уровне.

Итак, что же такое «декоратор»?

Впереди достаточно длинная статья, так что, если кто-то спешит — вот пример того, как работают декораторы:

def makebold(fn):
    def wrapped():
        return "<b>" + fn() + "</b>"
    return wrapped
 
def makeitalic(fn):
    def wrapped():
        return "<i>" + fn() + "</i>"
    return wrapped
 
@makebold
@makeitalic
def hello():
    return "hello habr"
 
print hello() ## выведет <b><i>hello habr</i></b>

Читать полностью »

в 23:18, , рубрики: django, python, метки: ,

Добрый день.

Часто бывает нужно иметь пользовательские (административные) настройки сайта, которые не могут быть определены в settings.py по двум простым причинам: настройки из settings.py не могут быть изменены без перезапуска сервера; и — самое главное — они могут быть изменены только программистом.

Модуль django-dbsettings (бывш. django-values) призван избавить Вас от этих ограничений: он предоставляет механизм хранения пользовательских настроек в базе данных, а также удобные виды для их редактирования.

И вроде бы все отлично… НО! Что же делать, если в качестве настройки нужна будет картинка: например, логотип сайта? Как выяснилось, django-dbsettings не поддерживает такого типа значений.

О том, как я добавлял поддержку ImageValue в django-dbsettings, я и собираюсь поведать.

Читать полностью »

Сегодня неожиданно понял, что скрипты — это сила (спустя несколько месяцев использования fabric). На самом деле 30 минут потраченные на написание адекватного сценария избавляют от многих совокупных часов повторения ненужных действий. Для упрощения жизни адептов python'а существует такой прекрасный модуль как fabric. И я хочу поделиться парой кусков своего fab-файла как пример упрощения жизни девелопера.

Это будут функции: «умный» комментатор локальных файлов и git-коммитер.
Читать полностью »

Mock на английском значит «имитация», «подделка». Модуль с таким названием помогает сильно упростить тесты модулей на Питоне.

Принцип его работы простой: если нужно тестировать функцию, то всё, что не относится к ней самой (например, чтение с диска или из сети), можно подменить макетами-пустышками. При этом тестируемые функции не нужно адаптировать для тестов: Mock подменяет объекты в других модулях, даже если код не принимает их в виде параметров. То есть, тестировать можно вообще без адаптации под тесты.

Такое поведение — уже не надувные ракетные установки, а целая надувная земля, вокруг которой могут летать испытуемые ракеты и самолёты.

Российские надувные макеты ракетных и радарных установок

Читать полностью »

Kyiv.py #6. Небольшой имхо отчёт о встрече

Несмотря на дату, мероприятие оказалось не шуткой, хотя я ехал с некоторым недоверием :) 6-й KyivPy действительно состоялся и, в целом, прошёл удачно. Практически все доклады были свежи и интересны и практически все докладчики хорошо и доступно излагали свои мысли. Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js