
Ruslan
18.08.2018
21:56:03

Maxim robox
18.08.2018
21:56:44

Ruslan
18.08.2018
21:57:35

Aragaer
19.08.2018
05:09:43
как сделать пипенв для подпроекта?

Google

Aragaer
19.08.2018
05:10:09
в смысле есть каталог X и в нем пипенв, а я хочу внутри X каталог Y и там другой пипенв. А он первый подцепляет, собако

Undefined
19.08.2018
05:48:59
ребят, есть кто тут живой?
крч, сразу суть вопроса, кто-нибудь работал с вебсокетами в пайтоне? не сервер, который нормально на торнадо работает, а именно клиент. просто мне нужно с вебсокетами работать, а я хз как :/

Mikhail
19.08.2018
06:05:45

Aragaer
19.08.2018
06:14:19
как это указать пипенву?
или руками создать .venv?
создал
project
.venv
subproject
.venv
запуск pipenv shell внутри subproject открывает шелл в project

Mikhail
19.08.2018
06:24:48
$ pipenv
Usage: pipenv [OPTIONS] COMMAND
...
--python TEXT Specify which version of Python virtualenv should use.
видимо так
не пользовался pipenv
хотя похоже это не то

Aragaer
19.08.2018
06:25:56
угу
ну ок, буду считать, что subproject должен быть совместим с project

Google

Pavel Evmenov (#!pornoKot)
19.08.2018
07:29:13
Добрый день всем
Подскажите, можно ли отправить несколько фото (галерею) через TG API ???
Одну картинку я могу отправить, а вот что бы несколько.
Поддерживает ли ТГ такую функцию?

Undefined
19.08.2018
07:29:46

marchwinks
19.08.2018
07:29:59
а документацию прочитать?

Pavel Evmenov (#!pornoKot)
19.08.2018
07:30:14
в том то и дело, что я прочитал
и отправлять можно

Undefined
19.08.2018
07:30:29

Pavel Evmenov (#!pornoKot)
19.08.2018
07:30:39

Undefined
19.08.2018
07:30:46
Там же есть
Ух, сейчас даже найду и кину

Pavel Evmenov (#!pornoKot)
19.08.2018
07:31:52
но, само что интересно )))
я пытаюсь реализовать, метод sendMediaGroup принимает JSON, я сделал json и отправляю, и получаю в ответ:
TypeError: Can't convert 'list' object to str implicitly

Undefined
19.08.2018
07:32:33
Так
Кидай строку, где ошибка

Pavel Evmenov (#!pornoKot)
19.08.2018
07:32:44
Я так понимаю, надо делать encode ????

Undefined
19.08.2018
07:34:28
+ json.dumps(urls)
и encode
+ urllib.parse.quote(json.dumps(urls))

Pavel Evmenov (#!pornoKot)
19.08.2018
07:37:31
и походу, я еще не правильно json оформил ...

Aragaer
19.08.2018
08:36:28
preexec_fn = None
if kwargs.get('setpgrp', False):
preexec_fn = os.setpgrpтакое как-то записывается удобнее, чем if-else?

Undefined
19.08.2018
08:37:16
preexec_fn = kwargs.get('setpgrp', os.setpgrp)

Google

Undefined
19.08.2018
08:37:20
Вот

serbernar
19.08.2018
08:37:27
В питоне 3.7 с :=

Aragaer
19.08.2018
08:37:44
не, там true или false, а должно получиться None или os.setpgrp (это функция)

Undefined
19.08.2018
08:38:05
ну
preexec_fn = os.setpgrp if 'setpgrp' in kwargs else None

serbernar
19.08.2018
08:38:58
И выполнять None?

Aragaer
19.08.2018
08:39:09
не выполнять, передавать в Popen
setpgrp может быть в kwargs, но оно может быть False 8)

Undefined
19.08.2018
08:39:46

Aragaer
19.08.2018
08:40:03
preexec_fn = os.setpgrp if kwargs.get('setpgrp', False) else None

Undefined
19.08.2018
08:40:07
а
да
не совсем просто понял

Aragaer
19.08.2018
08:40:29
если это сравнивать с просто if, то мне if в три строки нравится как-то больше
можно конечно preexec_fn = [None, os.setpgrp][kwargs.get('setpgrp', False)]
но чот изврат 8)

Undefined
19.08.2018
08:41:18
Ух

Aragaer
19.08.2018
08:43:20
задумался над тем, чтобы просто подготовить словарь для popen и потом сделать Popen(command, **popen_kwargs)
а то там сейчас больно много параметров уже скопилось

Google

Undefined
19.08.2018
08:43:52
что пилишь хоть?

Aragaer
19.08.2018
08:45:18
https://pypi.org/project/yet-another-runner/
setpgrp не работает на трависе 8(

Rebel
19.08.2018
10:54:10
Вопрос знатокам asyncIO. Нужно запускать определенное количество асинхронных процессов случайно. процессы появляются, существуют какое-то время и умирают абсолютно независимо друг от друга. main запускается как run_forever() картинка примерно такая
——1++++++++++++1—5++++++++5—
———-2++++++2—4++++++++4———
—————-3++++++++++++++++3——
я разобрался с asyncio семафорами и научился ограничивать количество сопрограмм. Но как сделать так чтобы они запускались не сразу после освобождения семафора, а через рандомное время? Пилить костыли с random и time или в asyncIO есть более внятный готовый механизм?

Alex
19.08.2018
10:55:27

1NF3sted
19.08.2018
11:20:40
И так прогресс в разработке бота ))

Andrew
19.08.2018
11:41:04
Парни, в каком случае 100% нужно импортировать через from (from <module> import anything), а в каком просто через import (import <module>)?
В пепе ничего про такие случаи (когда ты перед выбором) не сказано.

You
19.08.2018
11:43:05
Если тебе нужно что-то конкретное, то юзай from

Vaderoff
19.08.2018
11:43:49

Aragaer
19.08.2018
11:56:54
/me чот запуталсо в коде
https://pastecode.xyz/view/515b6ec7
чот тут read переусложненный получается, но я не могу придумать лучше
если кто может придумать, как лучше сделать, велкам с предложениями

Alex
19.08.2018
12:02:48

Aragaer
19.08.2018
12:04:32
там нижележащее это неблокируемое побайтное чтение
надо:
- если есть целая строка, отдать ее
- если канал закрыт, отдать что есть
- отдать b''
в таком порядке

Alex
19.08.2018
12:08:46
Как я понял у тебя буфер побайтно читается и еще есть проверка на вхождение символа в буфер, что замедляет в два раза код. Но это бегло я увидел