
Igor
02.10.2018
16:04:54
Да
https://docs.python.org/3/extending/building.html тырц?

xPushkin
02.10.2018
16:04:56

Moon
02.10.2018
16:05:04

Ruzal
02.10.2018
16:05:12
Он имеет в виду вернуть массив префиксных сумм

Google

Jim
02.10.2018
16:05:29
Да ))
Сорр, плохо объясняю ))

Moon
02.10.2018
16:05:47
Не, я через ctypes подключаб буду
М, уже нашёл

Igor
02.10.2018
19:31:57
есть цикл, в котором читаются строчки из файла:
lines = [x]
while should_continue(lines):
lines.append(next(stream))
x здесь фактически первая считанная из потока строка через next(stream)
хочу вынести это дело в отдельную функцию, и пользоваться внутри генератора (кажется так это называется):
with lines = get_lines_from(stream) for _ in stream:
...
yield (whatever, lines)
бывает такое, или моё спасение только в for firstline in stream: lines = get_lines_from(stream, firstline)?

Dima
02.10.2018
19:50:48
Что ты пытаешься сделать? Зачем?

Igor
02.10.2018
19:56:55
читать из файла или io.StringIO блоки строк, склеивая их по некому признаку
экспериментирую со способами как это можно делать и как это лаконичнее выглядит

Ruzal
02.10.2018
20:36:24
Да вроде ты все нормально написал
Йелдишь текущую строчку
Иначе ждешь

Dima
02.10.2018
20:40:37
А зачем генератор?

Igor
02.10.2018
20:51:29
например чтобы не читать подряд весь файл на десять мегабайт и полтора миллиона строк
Йелдишь текущую строчку
ну, соус в том, что 1) нужно результат функции куда-то сложить, 2) for _ уже выдернул строчку из потока файла, и её приходится отдельным параметром пеердавать в функцию, а я хочу чтобы она принимала только один аргумент - сам поток, и его уже дербанила как ей угодно

Google

Ruzal
02.10.2018
22:14:39

Pablo
03.10.2018
11:03:55
Подскажите ресурсы или книги , где можно изучать джанго для новичка . Скачал хорошую книгу , но она старая слишком , и боюсь , что большинство кода не будет работать .

tonko
03.10.2018
11:20:33

Pablo
03.10.2018
11:21:11

tonko
03.10.2018
11:22:01
Но для этого не нужен джанго

Михаил
03.10.2018
11:30:19
Конструкции if a in ['foo', 'bar'] и if a == 'foo' or a == 'bar' эквивалентны?

Alex
03.10.2018
11:31:18
да

Михаил
03.10.2018
11:32:30
спасибо

Alex
03.10.2018
11:32:50
у кого нибудь есть книга пайтон карманнный справочник за авторством лутца
а то я бы почитал, но отдавать 500 рублей за нее по мне многовато, мб кто с рук продать хочет
не мне бумажная нужна
как справочник использовать

Andrey ?
03.10.2018
11:36:39
Мб лучше гугл?

Alex
03.10.2018
11:38:43
понимаешь, в гугле, хорошо вбивать, что уже знаешь, а читая такие книги, можно узнать какие-нибудь фишки, которые прошли мимо тебя

HW_51Rs
03.10.2018
15:11:26
Легально ли оставлять pass в продакшене?

tonko
03.10.2018
15:12:10
В случае эксепшена часто незаменим
Если логгинг декораторами

HW_51Rs
03.10.2018
15:12:42
Как раз исключения пишу

Google

tonko
03.10.2018
15:12:54
Вообще в продакшене логи там обычно
Если они не вынесены в декоратор или как то иначе
Тот же знаменитый exception-logging decorator
Которым я поленился оснастить свой небольшой прод

HW_51Rs
03.10.2018
15:14:55
У кого-нибудь есть примеры своих исключений? Или где можно их посмотреть?

tonko
03.10.2018
15:16:18
Ну где их можно посмотреть, в мане конечно
Официальном
Примеры также гуглятся

Admin
ERROR: S client not available

HW_51Rs
03.10.2018
15:17:29
Я про прод спросил, чтобы понять, нормально это или нет @tonko22

tonko
03.10.2018
15:17:54
@app.route('/search_query', methods=['GET', 'POST'])
@auth.login_required
def query():
# Validation, error handling, logging
try:
request_handler = request_service.QueryRequestHandler(request)
result = db_query_interface.select_files_and_transcriptions(
request_handler.json_dict["date_start"],
request_handler.json_dict["date_end"],
request_handler.json_dict["client_phone_num"]
)
return jsonify(result), 201
except BaseException as e:
return jsonify({"error": str(e)}), 500

tonko
03.10.2018
15:17:55
Ну у меня так
Но я бы не сказал что это стоит списывать
Надеюсь тут кто-то разъебет мой стиль, кек
Логов тут нет, они на уровне фласка собираются
Через декоратор
Но мне кажется эксепшн также надо прокидывать, декоратором фласка каким-нибудь

HW_51Rs
03.10.2018
15:20:38
А свои исключения не пишешь(классы)? @tonko22

tonko
03.10.2018
15:25:24

Google

tonko
03.10.2018
15:25:50
У меня не такие сложные эксепшены чтобы их кастомизировать
Главное трейс, параметры и сам текст ошибки

Ecklory
04.10.2018
11:29:47
Всем привет.
Кастую тут статический анализ (bandit).
Упёрся в такой вывод:
>> Issue: [B108:hardcoded_tmp_directory] Probable insecure usage of temp file/directory.
Severity: Medium Confidence: Medium
Location: /root/2/nginx/zbx_nginx_stats.py:26
More Info: https://bandit.readthedocs.io/en/latest/plugins/b108_hardcoded_tmp_directory.html
25 # Temp file, with log file cursor position
26 seek_file = '/tmp/nginx_log_stat'
27
28 class Metric(object):
26-ая строка это:
https://git.ckcorp.ru/root/nginx/blob/general/zbx_nginx_stats.py#L26
Что ему от меня нужно?
Предполагаю, что
https://security.openstack.org/guidelines/dg_using-temporary-files-securely.html
p.s. Не питонист.

Igor
04.10.2018
11:33:48

Andrey ?
04.10.2018
13:01:00
А надо это делать средствами языка


mityajko
04.10.2018
16:49:32
пасаны
подскажите
как прально под subprocess.call переводить вывод внутри
предположим
мне надо сдампить базу
subprocess.call(['mysqldump', '-B','mysql','>',f.sql'])
так не работает