суббота, 1 июня 2024 г.

bottle vs flask?

 Есть 2 схожих фреймворка, bottle и flask, весьма похожи, оба на питоне, основное отличие - bottle.py это ровно 1 файл, кинули в проект и всё. Пригодно для чего-то совсем мелкого.  Ну и статус развития bottle под вопросом.

среда, 17 апреля 2019 г.

Пример проверки пользователя в LDAP

import  ldap
c = ldap.initialize("ldap://ldap.loc")
# Fix for MS AD
# https://www.python-ldap.org/en/latest/faq.html
c.set_option(ldap.OPT_REFERRALS, 0)
# Сначала получаем данные юзера от админа
c.bind_s('admin', 'admin_pass')
res = c.search_s('dc=ldap,dc=loc', ldap.SCOPE_SUBTREE, "SAMAccountName=USER",['objectclass'], 1)
new_cred = res[0][0]
# Теперь пробуем подключиться как нужный юзер
c.bind_s(new_cred, 'user_pass')
print "OK"

вторник, 30 января 2018 г.

python+yaml

yum install python-pip
pip install pyyaml


down vote
accepted
#!/usr/bin/env python

import yaml

with open("example.yaml", 'r') as stream:
    try:
        print(yaml.load(stream))
    except yaml.YAMLError as exc:
        print(exc)


Или вообще так
Dict = yaml.load(open('filename'))

Хотя он только yaml 1.1, и
Do not use PyYAML, it is long dead, use ruamel.yaml.
from ruamel import yaml

понедельник, 3 июля 2017 г.

json in bash

https://stackoverflow.com/questions/1955505/parsing-json-with-unix-tools

1) jq
curl -s 'https://api.github.com/users/lambda' | jq -r '.name'

2) python
Python 2:
export PYTHONIOENCODING=utf8
curl -s 'https://api.github.com/users/lambda' | \
    python -c "import sys, json; print json.load(sys.stdin)['name']"
Python 3:
curl -s 'https://api.github.com/users/lambda' | \
    python3 -c "import sys, json; print(json.load(sys.stdin)['name'])"

пятница, 19 августа 2016 г.

python: ошибка SyntaxError: invalid token у rpmbuild

Для питона достаточно бесполезный функционал компилирования иногда ломает сборку пакета. Фикс - в spec файл в начало добавляем
%global _python_bytecompile_errors_terminate_build 0

пятница, 25 декабря 2015 г.

формирование tiff файла в ImageMagick

У tiff для отправки через факс есть ряд требований, искать RFC про TIFF-F.
Пример конвертации в ImageMagick
convert -density 204x196 -units PixelsPerInch -resize 1728x -monochrome -compress Fax IN OUT
где IN и OUT - входной и выходной файлы.
Также можно задать photometric interpretation:
        -define quantum:polarity=min-is-black
        -define quantum:polarity=min-is-white

density может меняться, варианты смотреть в RFC (начинать с 2306), вероятно можно задать и просто -density 204 (но что тогда будет со вторым значением?)

Вообще хорошо взять пришедший тифф за основу и через identify сравнивать, что получается у нас и в готовом файле, при этом крайне желательно иметь оригинал факс-файла и конвертировать его же.