@python_beginnersЭта группа больше не существует

Страница 596 из 1885
light
20.10.2016
09:00:51
люди

Bulat
20.10.2016
09:00:52
не было печали

light
20.10.2016
09:01:04
есть кто по части Twisted?

Zart
20.10.2016
09:01:19
а конкретные вопросы по твистеду будут?

Google
Igor
20.10.2016
09:01:49
а конкретные вопросы по твистеду будут?
нет конечно, сначала надо выяснить, может ли кто-то ответить. зачем иначе тратить свои силы и спрашивать

Petro
20.10.2016
09:13:34
Ты уже тратишь свои силы и спрашиваешь, но таким хитрым образом, что не получаешь ответ по теме.

Bulat
20.10.2016
09:14:27
если обновлял - не забывать обновлять и экстеншены
прям из cmd винды, $ vagrant plugin install vagrant-vbguest

решился вопрос

странно почему перестал работать

??D
20.10.2016
09:19:58
чет поржал с линупса

light
20.10.2016
09:32:13
а конкретные вопросы по твистеду будут?
пишу timeout при помощи reactor.callLater(time, func, context) в роли функции будет выступать экземпляр класса ITransport с методом loseConnection

с чего начать?)

V
20.10.2016
09:45:28
подскажите, только разбираюсь с алхимией. делаю session.query(Timestamp.last).filter(Timestamp.api_call=='events').one_or_none() - возвращает кортеж типа (123,), а мне нужен просто int 123. можно как-то?

Zart
20.10.2016
09:46:25
.scalar() вроде

all/first/one возвращают row а ты дёргаешь одну строку с одним столбцом, для этого скаляр и предназначен

Марк
20.10.2016
09:59:13
Посоны, а поясните, как работает filter(). Я им не пользуюсь, но понадобилось вьехать- и чет не догоняю

Zart
20.10.2016
09:59:22
в СА?

Google
Zart
20.10.2016
09:59:31
добавляет клаузу WHERE

Марк
20.10.2016
09:59:45
Не. Не в Алхимиии.

Пайтоновский, стандартный

Igor
20.10.2016
10:00:11
функциональщина?

Zart
20.10.2016
10:00:17
filter(func, iterable) == [elem for elem in iterable if func(elem)]

плюс частный случай, что если func is None, то func=bool

т.е. filter(None, iterable) == [elem for elem in iterable if elem]

Марк
20.10.2016
10:01:32
Ага. Понял. Спс

V
20.10.2016
10:03:21
.scalar() вроде
оно! спасибище!

John
20.10.2016
10:17:55
Приснилось что листал бумажную книгу по питону (или по django), и на одной из страниц приводился листинг с указанием авторства Zart, захотелось сфоткать страницу и выложить в чат...но видимо проснулся?

Макс
20.10.2016
10:18:16
А у меня вопрос по Flask. Есть у меня иногда нужда отдавать результат браузеру не HTMLкой, а PDFкой. Я решил написать под это дело декоратор для вьюх. Все вьюхи с этим декоратором сначала рендерятся как обычно, а затем прогоняются через стороннюю утилиту, которая рендерит PDF, и он посылается с миметайпом application/pdf и именем, основанном на request.url. Всё работает, всё круто, но. Ещё у меня иногда есть нужда один из этих PDFов программно взять и отправить по емейлу. Как покрасивее сделать, чтобы можно было эти же функции юзать, но request у них был с подменённым урлом или вроде того?

53r63rn4r
20.10.2016
10:21:26
Хм..

Макс
20.10.2016
10:21:31
Зачем мне имя файла – а потому что фласковский send_file(), кажется, считает, что у file обязательно должен быть file.name

Zart
20.10.2016
10:21:32
если есть функция, конвертирующая чтото в пдф, то вопрос стоять вообще не должен

53r63rn4r
20.10.2016
10:21:48
Ну запускай просто другую функцию в функции которая по смтп делает рассылку

Макс
20.10.2016
10:21:49
так, стоп, я запуталось

ну дублировать код не хочется :)

53r63rn4r
20.10.2016
10:22:42
Да-к, а где дублирование?

В параметр протсо передавай этот файл

/dev
20.10.2016
10:22:53
http://flask.pocoo.org/snippets/32/

Google
53r63rn4r
20.10.2016
10:22:59
А в функции параметром принимай

Я имею ввиду функцию отправки на почту

Макс
20.10.2016
10:23:29
я хотел всё это сделать красиво, без временных файлов. пайп от утилиты сразу слать в браузер.

но из-за этих name что-то не то

Макс
20.10.2016
10:24:03
ладно, сейчас ещё попробу и отпишусь

StringIO
Аналог для бинарных данных есть?

/dev
20.10.2016
10:24:51
Там хоть черта лысого храни

Макс
20.10.2016
10:25:20
мне бы простенький прокси, берущий один поток, дающий ему имя и шлющий дальше

Zart
20.10.2016
10:26:29
StringIO
зачем? О.о

53r63rn4r
20.10.2016
10:27:04
Тоже не понял =\

Vinc
20.10.2016
11:14:54
надо написать функцию, которая сделала бы какое-нить матем вычисление с передаваемыми значениями. от мин, до макс с шагом. эти три значения проще держать в списке?

Zart
20.10.2016
11:18:18
эти три значения можно передавать слайсом или ренджем

Vinc
20.10.2016
11:18:51
в рендж я их потом засовывать буду

Zart
20.10.2016
11:19:17
я бы слайсом реализовал

Vinc
20.10.2016
11:19:37
def nam( ????? ): слайс не знаю пока, гуглю

Zart
20.10.2016
11:19:50
а. это только в методах 8(

Vinc
20.10.2016
11:19:58
а, знаю

Zart
20.10.2016
11:20:09
делай тогда сразу ренджем

>>> def f(*r): ... for i in range(*r): ... print(i) ... >>> f(5) 0 1 2 3 4 >>> f(2, 5) 2 3 4 >>> f(2, 5, 2) 2 4

Google
Zart
20.10.2016
11:22:43
я только что пример привёл

Vinc
20.10.2016
11:23:58
что за звёздочка?

/dev
20.10.2016
11:24:46
что за звёздочка?
Список аргументов

Zart
20.10.2016
11:25:05
переменные аргументы если в списке параметров - значит список аргументов оформить в виде тупла и запихать в эту переменную если в списке аргументов - наоборот, разворачивает список в позиционные аргументы

т.е. a = (1, 2, 3) f(*a) это то же самое что и f(1, 2, 3)

Admin
ERROR: S client not available

Vinc
20.10.2016
11:26:59
спасибо

а если в этой функции по умолчанию должны какие-то значения быть(на тот случай, если вызывается функция без указания аргументов), то такой вариант уже не подойдёт

Zart
20.10.2016
11:32:59
можно поставить проверку

if not r: # нет аргументов r = range(10) # дефолт else: # r = range(*r) # создать рендж с переданными аргументами

как пример

Vinc
20.10.2016
11:35:41
def hello(n='Вася'): print('Hi,', n) по такому типу не проще?

/dev
20.10.2016
11:35:41
def f(arg=val)

Zart
20.10.2016
11:35:42
range кварги не хавает, если чо

/dev
20.10.2016
11:36:02
range кварги не хавает, если чо
На автомате лажу выдал

Ну или: if not r: r =[10]

Макс
20.10.2016
12:04:21
А у меня вопрос по Flask. Есть у меня иногда нужда отдавать результат браузеру не HTMLкой, а PDFкой. Я решил написать под это дело декоратор для вьюх. Все вьюхи с этим декоратором сначала рендерятся как обычно, а затем прогоняются через стороннюю утилиту, которая рендерит PDF, и он посылается с миметайпом application/pdf и именем, основанном на request.url. Всё работает, всё круто, но. Ещё у меня иногда есть нужда один из этих PDFов программно взять и отправить по емейлу. Как покрасивее сделать, чтобы можно было эти же функции юзать, но request у них был с подменённым урлом или вроде того?
Без временного файла так и не смог, ну да и хрен с ним. Если кому интересно: def render_as_pdf(view): """ Декоратор для вьюх, которые нужно отобразить в формате PDF, а не простом HTML. Автоматически добавляет параметр return_pdf_file, в котором можно передать True, если нужно получить файл в виде file-like object, а не в виде фласковского Response. """ def wrapper(*args, return_pdf_file: bool = False, **kwargs): html = view(*args, **kwargs) with TemporaryDirectory() as tempdir: pdf_path = tempdir + "/pdf.pdf" html2pdf = Popen([app.config.bin.htmlpdf, "/dev/stdin", pdf_path], stdin=PIPE) html2pdf.stdin.write(html.encode()) html2pdf.stdin.close() html2pdf.wait() pdf = open(pdf_path, "rb") if return_pdf_file: return pdf else: return send_file(pdf, mimetype="application/pdf") return wrapper

Google
Pavel
20.10.2016
12:24:42
Насколько точным получается пдф? У меня есть шаблон, в котором миллион цифр в нескольких таблицах, и это надо вписать ровно в а4. Я смогу через html2pdf сделать это надёжно?

Макс
20.10.2016
12:50:53
Насколько точным получается пдф? У меня есть шаблон, в котором миллион цифр в нескольких таблицах, и это надо вписать ровно в а4. Я смогу через html2pdf сделать это надёжно?
Не знаю, мне не так критично. Я так понимаю, и от шрифтов может зависеть, и от всего... Как и в браузере, в общем-то. Но так как на сервере ты точно знаешь, какие шрифты у тебя есть, а каких нет, и что какого размера будет, то, выходит, немного надёжнее, чем в браузере.

Zart
20.10.2016
12:52:05
пдф зависит от шрифтов. каждый день новости...

(при генерации с нуля конечно, но не в общем случае ж)

Stanislav
20.10.2016
13:07:37
У меня проблемка. Есть комп и питон 2.7. Есть куча вложений и иногда там есть русский текст Так вот, принтаю этот лист и оно не конвертирует всю хуйню типа \xd0.

Zart
20.10.2016
13:07:53
вложений куда?

Stanislav
20.10.2016
13:07:55
С этим питон 3 я уже неженка

Типо такого

Zart
20.10.2016
13:08:39
репры..

F
20.10.2016
13:09:21
репры..
шо це?

Stanislav
20.10.2016
13:09:35
__repr__

Zart
20.10.2016
13:09:36
он печатает не строки, а объекты

поэтому выводится repr() от них, а во втором питоне юникод им эскейпится

F
20.10.2016
13:10:41
а, понял

как __str__ в джанго

Stanislav
20.10.2016
13:11:20
он печатает не строки, а объекты
Я понял это и что же делать

Страница 596 из 1885

Эта группа больше не существует Эта группа больше не существует