Size: a a a

Сообщество Python Программистов

2020 December 19

VA

Vadim Apenko in Сообщество Python Программистов
$name$
да уж))
Земля пухом)00)
Вот и я о том) Казалось бы простейший функционал, но реализация весьма трудна
источник

VA

Vadim Apenko in Сообщество Python Программистов
$name$
Я, кстати, недавно на неприятный баг телеграм апи напаролся. Хотя его можно юзать как "фишку", но думаю его пофиксят в скором времени
?
источник

$

$name$ in Сообщество Python Программистов
источник

VA

Vadim Apenko in Сообщество Python Программистов
никогда не юзал это)
источник

$

$name$ in Сообщество Python Программистов
Vadim Apenko
никогда не юзал это)
Это относительно новый метод))0
источник

$

$name$ in Сообщество Python Программистов
Пришлось использовать форвард, но это некрасиво
источник

$

$name$ in Сообщество Python Программистов
шож поделаешь)
источник

$

$name$ in Сообщество Python Программистов
Ладно, я изучать темпфайл, ниразу с ним не работал))
источник

VA

Vadim Apenko in Сообщество Python Программистов
$name$
Ладно, я изучать темпфайл, ниразу с ним не работал))
Могу показать, там всё очень просто.
источник

$

$name$ in Сообщество Python Программистов
Vadim Apenko
Могу показать, там всё очень просто.
Го))0
источник

VA

Vadim Apenko in Сообщество Python Программистов
from tempfile import TemporaryDirectory
Например это позволяет создать временную директорию. Ты в неё кладёшь любые файлы, работаешь с ними, но при выходе из контекста - она удаляется забирая за собой все содержимое.

Например
with TemporaryDirectory() as temp_dir:
   # тут у тебя есть переменная temp_dir, в которой путь до временной директории. После выхода из контекста - она будет удалена.



Вариант два
from tempfile import NamedTemporaryFile
Это создаёт временный файл с произвольным именем.

with NamedTemporaryFile(mode='w', prefix='picture_', suffix='.png') as temp_obj:
   # Тут в переменной будет объект файла с именем 'picture_sdfkjh45j.png'. После выхода из контекста он удалится.
Файл уже открыт, но библиотека умная и можно писать и читать в файл ниже. Доступ к пути можно получить по temp_obj.name.
источник

VA

Vadim Apenko in Сообщество Python Программистов
источник

$

$name$ in Сообщество Python Программистов
Vadim Apenko
from tempfile import TemporaryDirectory
Например это позволяет создать временную директорию. Ты в неё кладёшь любые файлы, работаешь с ними, но при выходе из контекста - она удаляется забирая за собой все содержимое.

Например
with TemporaryDirectory() as temp_dir:
   # тут у тебя есть переменная temp_dir, в которой путь до временной директории. После выхода из контекста - она будет удалена.



Вариант два
from tempfile import NamedTemporaryFile
Это создаёт временный файл с произвольным именем.

with NamedTemporaryFile(mode='w', prefix='picture_', suffix='.png') as temp_obj:
   # Тут в переменной будет объект файла с именем 'picture_sdfkjh45j.png'. После выхода из контекста он удалится.
Файл уже открыт, но библиотека умная и можно писать и читать в файл ниже. Доступ к пути можно получить по temp_obj.name.
долго же ты писал
источник

$

$name$ in Сообщество Python Программистов
Vadim Apenko
from tempfile import TemporaryDirectory
Например это позволяет создать временную директорию. Ты в неё кладёшь любые файлы, работаешь с ними, но при выходе из контекста - она удаляется забирая за собой все содержимое.

Например
with TemporaryDirectory() as temp_dir:
   # тут у тебя есть переменная temp_dir, в которой путь до временной директории. После выхода из контекста - она будет удалена.



Вариант два
from tempfile import NamedTemporaryFile
Это создаёт временный файл с произвольным именем.

with NamedTemporaryFile(mode='w', prefix='picture_', suffix='.png') as temp_obj:
   # Тут в переменной будет объект файла с именем 'picture_sdfkjh45j.png'. После выхода из контекста он удалится.
Файл уже открыт, но библиотека умная и можно писать и читать в файл ниже. Доступ к пути можно получить по temp_obj.name.
спасибо
источник

K

KarmaBot in Сообщество Python Программистов
$name$
спасибо
Вы увеличили карму Vadim Apenko до 3640.18 (+28.12)
источник

AT

Alexander T in Сообщество Python Программистов
Vadim Apenko
На работе есть такой комплекс, который зовётся Jenkins. Это система непрерывной интеграции. Мы в нём запускаем нажатием кнопки процессы билда и\или деплоя. Процессы там относительно долгие и держать открытой вкладку браузера чтоб следать когда оно закончилось или упало - влом. А когда одновременно запускает 2-3-5 процессов - то вообще тратишь время только на то, чтоб за этим следить.

Потому я около месяца назад написал бота, которому кормишь название задачи, он ищет запущенные билды по ней и за ними следит, сообщая когда падает или исполняется успещно.

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

И вот проблема, API делал какой-то аутист и оно весьма ограничено.

Например:
Получить все запущенные билды от конкретного юзера - нельзя.
Получить все запущенные билды вообще - нельзя.
Можно получить все билды по конкретной задаче и запросить инфу по каждому из билдов, посмотрев там юзера, которым оно было запущено. (но это долго для регулярного поллинга, а в нём и смысл)
Коллбеков у дженкинса нет.
Есть задачи, которые комбинируют в себя с десяток других задач, и если я сделаю саму простую логику, то запустив одно родительскую задачу, бот будет спамить всем, что дочернее. Отделить мух от котлет я не понимаю как.
а можно получить названия задач?
источник

VA

Vadim Apenko in Сообщество Python Программистов
Alexander T
а можно получить названия задач?
Через жопу, но можно.
источник

AT

Alexander T in Сообщество Python Программистов
Vadim Apenko
Через жопу, но можно.
я б сделал кнопки (в тг или на какой-то вебморде) со списком задач, и тыкал бы на нужные для запуска уведомлений.
раз ты щас вводишь в него названия нужных, то этого названия по идее достаточно, чтобы отфильтровать
источник

VA

Vadim Apenko in Сообщество Python Программистов
Alexander T
я б сделал кнопки (в тг или на какой-то вебморде) со списком задач, и тыкал бы на нужные для запуска уведомлений.
раз ты щас вводишь в него названия нужных, то этого названия по идее достаточно, чтобы отфильтровать
Я думал про это, и это один из вариантов частичного решения проблемы.
Но всё равно. Допустим 8 программистов, каждый натыкал себе по 10 задач для отслеживания.
это по 200-300 запросов к апи. Там всё дико тупо с этим апи
источник

AT

Alexander T in Сообщество Python Программистов
доступ к дебильному апи облегчается только аггрегатором на входе и кешированием на выходе)
источник