Архив рубрики: Python

Отправка письма почтой с вложениями через Питон

После запуска офисной телефонии, решил ввести своеобразный «контроль качества». Своего рода ОТК, для определения качества общения отвечающих на звонки сотрудников. Так  как звонков относительно много, и слушать все не представляется возможным, хотя в идеальном мире все должно обстоять именно так, было решено слушать хотя бы выборочные записи звонков. Так как под капотом у нашей АТС —  Asterisk, которая аккуратно записывает звонки и кладет их в определенную папку с waw разрешением то дело было за малым автоматизировать отправку пяти выборочных записей на почту нужным людям. Кстати  все это дело будет происходить на «любимой» мною ОСи Windows 10.

Итак накидаем по быстрому простой скрипт: Читать далее

Отправляем уведомления в Django через Telegram API.

Вступление

Был у меня значит один проект на Django, и имел этот проект формочку простую. И собирала это формочка лидов. И все было круто-счпстливо. И собирались лиды на e-mail ящике…

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

Если не дать обратную связь лиду (контакту, клиенту) в первые 5 минут с момента заявки до вероятность успешной сделки по истечении этих первых  5 минут увеличивается в геометрической прогрессии.

Читать далее

Установка визуального редактора Ckeditor для Django

Ckeditor один из лучших визуальных редакторов. Практически на каждый сайт на котором приходится, добавлять или изменять контент необходим визуальный редактор. Вот и я решил для одного из своих  проектов дать возможность пользователям удобно редактировать статьи.  ниже приведу пример настройки самого редактора Ckeditor и плагина к нему для загрузки изображений через веб-интерфейс ckeditor-uploaders.

Первым делом установим  сам пакет в виртуальное окружение:


pip install django-ckeditor Читать далее

Вернуть файл в FBV Django.

Иногда возникают ситуации когда в ответ на запрос в браузере необходимо вернуть файл. Наверное возможно написать, какое нибудь изящное решение используя CBV (функции основанные на классах), но я решил использовать для этих целей FBV(функции-представления).

Возвращать наша функция будет фай с разрешением .dbf, используя метод HttpResponse. Думаю более подробные комментарии излишни, код простой очень. И я выложу его, может кому нибудь и пригодится.

@login_required
def download_dbf(request, num_dbf):
    #Подключаемся на фтп серваер
    ftp = FTP('muftp.ru')
    ftp.login('user', 'password')
    ftp.cwd("nakl")
    ftp.cwd(request.user.username)
    #Загружаем файл
    dbf_name = str(num_dbf) + '.DBF'
    dbf_file = MEDIA_ROOT + '/ftp/' + request.user.username + '/' + dbf_name
    lf = open(dbf_file, "wb")
    ftp.retrbinary("RETR " + dbf_name, lf.write, 8 * 1024)
    lf.close()
    ftp.quit()

    fp = open(dbf_file, 'rb')
    response = HttpResponse(fp) #Важно открыть файл и только потом передать его в HttpResponse
    fp.close()
    response['Content-Disposition'] = 'attachment; filename=%s' % dbf_name
    return response

 

Создание DBF файла в Python 3

dbf11Сомневаюсь, что кому то данные материал пригодится, а также искренне надеюсь, что не пригодится. Ибо работать с dbf в наше то время как то грустно. На так как данный формат файла активно используется до сих пор 1с-сообществом, то иногда приходится иметь дело с  ним. Лично у меня заняло немало времени пока я сформирую валидный dbf файл.

Проблемы возникали практически на всех этапах. И если   с чтением dbf в питоне особых проблем нет, в частности тот же dbfread справляется на ура, да и документация отличная, то с созданием файла пришлось намучиться. На 2-ой питон много прекрасных библиотек для работы c dbf, но все они упорно не хотели становиться на 3-ий питон. Читать далее