Vladimir
дискорд серверов не нахожу пока
Вот и выросло поколение..
Ivan
да, ибо ждать сутки ответа сейчас не вариант
Серафима O̡͙ ͈_O̧͖̣
Все 3 чи не?
Серафима O̡͙ ͈_O̧͖̣
Кіт ✙
вот импортирую я программу. Как мне отлавливать ее принты?
Nikolai
Усиленно смотреть в консоль при выполнении
Кіт ✙
по типу: run: import program except print as print_try: print('Эта хуита пыталась написать: ' + print_try)
Nikolai
Ты хочешь отлавливать принты? И делать другие принты?
Aragaer
вот импортирую я программу. Как мне отлавливать ее принты?
через os.dup2 перенаправить sys.stdout в куда-нибудь другое место
Aragaer
довольно легко делается декоратором
Aragaer
а, есть даже готовый
Aragaer
https://docs.python.org/3.7/library/contextlib.html#contextlib.redirect_stdout
Кіт ✙
довольно легко делается декоратором
если бы я ещё знал, что это такое
Кіт ✙
Nikolai
довольно легко делается декоратором
O, rly? Покажешь? Отловишь def func(): a = 1 b = 2 print(1) c = 3 print(3)
Nikolai
https://docs.python.org/3.7/library/contextlib.html#contextlib.redirect_stdout
Всё равно не понимаю как ты хочешь отловить принты ..
Aragaer
f = io.StringIO() with contextlib.redirect_stdout(f): import program print("оно пыталось напечатать", f.getvalue())
Nikolai
А, redirect_stdout Понятно
Nikolai
Туплю
Nikolai
Но оно лишь напишет принты в другое место, и всё
Кіт ✙
Но оно лишь напишет принты в другое место, и всё
оно должно словить в сетку. Как батя тяночку
Aragaer
ну да, оно напишет в заранее созданный объект стрингио
Кіт ✙
типа, шоб потом перекрасить
Nikolai
А он хочет except print
Кіт ✙
делаю проект, типа, info, warning, error
Кіт ✙
я хочу, чтобы оно хотя бы запускалось
Nikolai
делаю проект, типа, info, warning, error
Посмотри в сторону logging
Aragaer
>>> import io, contextlib >>> def func(): ... a = 1 ... b = 2 ... print(1) ... c = 3 ... print(3) ... >>> f = io.StringIO() >>> with contextlib.redirect_stdout(f): ... func() ... >>> print("оно пыталось напечатать", f.getvalue()) оно пыталось напечатать 1 3
Кіт ✙
Посмотри в сторону logging
ну и что там? Надеюсь. не Рикардо Миллос?
Aragaer
вообще да, у правильной либы должны быть не принты, а logging
Кіт ✙
опа, оно ещё и умеет скрипты определять
Кіт ✙
лол, эта либа решает тупо 3 самых больших проблемы в проекте
Кіт ✙
2 проблемы
Кіт ✙
или только одну :\
Кіт ✙
опа, оно ещё и умеет скрипты определять
получается, оно не умеет автоматически определять, кто вызвал модуль?
Тарас
Создание тестов. Типа 3 варианта и один правильний с вивод результатов и регистрацией пользователя. В чем и как. Что почитать
Maxim
SQLAlchemy Есть ф-ция def find_tasks(uid): return session.query(Task).filter(or_(Task.owner == uid, Task.assignee == uid)).all() получаю её результат и пытаюсь проитерировать его через цикл for, не получается: sqlalchemy.exc.ArgumentError: Object <Task: test it until None is True> is not legal as a SQL literal value просветите, ЧЯДНТ?
Ivan
как в джанго сделать напоминание на страничке? у меня есть параметры в модуле дата-тайм и текст, как сделать, что бы на страничке выскокавало окно с напоминанием, и пока на него не нажмеш оно висело, даже после перезагрузки?
Ivan
сама логика какова? я не много не понимаю
Arthur
Тарас
Unittest?
Наподобии проверки знаний. Наверное да
Maxim
Task.owner_id и Task.asignee_id?
поля так и названы: owner, assignee
Nikolai
Наподобии проверки знаний. Наверное да
А, этот тест. Ну, нормальных не знаю, остальное слишком поверхностное
Maxim
а ок.
попробовал в строку превратить результат этого запроса, выдало лист объектов с необходимым мне repr. всё круто, казалось бы, но не итерируется
Alex
трейсбек весь?
да, на pastebin
Кіт ✙
Кто вызвал импорт? А зачем?
там есть один механизм... И он требует, чтобы при каждом обращении было известно, что за программа это делает. Пока что этот механизм работает костыльно, уязвимо и абсолютно не поддерживает многопоток
Ivan
Звучит как задача для javascript
впринципе да, но мне нужно понять как на стороне джанго все правильно сделать, что бы на джсе сет-тайм поставитть
Nikolai
впринципе да, но мне нужно понять как на стороне джанго все правильно сделать, что бы на джсе сет-тайм поставитть
Ну, ajax запрос. На стороне бэка просто отдавать дату в необходимом формате в виде строки. Со стороны фронта всё остальное
Nikolai
Ну или templatetag какой нить
Тарас
А, этот тест. Ну, нормальных не знаю, остальное слишком поверхностное
Везде находит тестирование програм. Тут нужно типа. Вопрос 2+2= вибирете вариант ответа и один правильний.
Андрей
на гикбрейнсе вроде какиет питоновые тесты были
Кіт ✙
Нормально и не будет никогда, звучит как ненужный оверхед
ладно, я так понял, что косить под хардверные и низкоуровневые штуки на питоне - плохая затея...
Nikolai
ладно, я так понял, что косить под хардверные и низкоуровневые штуки на питоне - плохая затея...
Можно, но именно с внутренними отлаженным механизмами - такое себе
Maxim
да, на pastebin
нашёл ошибку, крашилось при поиске саб-тасков, я передавал вместо ид таска сам объект, сорян
Кіт ✙
Можно, но именно с внутренними отлаженным механизмами - такое себе
короче, есть ядро, и есть модуль - ram. Он имитирует оперативку - хранит словарь по типу {'your_program': {'var': 'test'}}
Nikolai
Зачем имитировать, когда есть redis/memcache
Кіт ✙
Кіт ✙
или линуксовского добра?
Nikolai
это что-то из Поттерианы?
Это key value хранилища в ram
Кіт ✙
Это key value хранилища в ram
тогда збс. Но хочется всё делать самому, понимаешь ли
Кіт ✙
шоб уязвимости, все дела
Nikolai
А, ты велосипедист
Nikolai
Ну тогда удачи с костылями
Кіт ✙
шоб уязвимости, все дела
чтобы потом можно было проводить атаки, а потом ремонтировать дыры
Nikolai
Дадада
Кіт ✙
дампы памяти делать, читать ее, все дела
Nikolai
А сторонние либы это апасна