Vladimir
Ivan
да, ибо ждать сутки ответа сейчас не вариант
Серафима O̡͙ ͈_O̧͖̣
Серафима O̡͙ ͈_O̧͖̣
Aidar
Кіт ✙
вот импортирую я программу. Как мне отлавливать ее принты?
Nikolai
Усиленно смотреть в консоль при выполнении
Кіт ✙
по типу:
run:
import program
except print as print_try:
print('Эта хуита пыталась написать: ' + print_try)
Кіт ✙
Nikolai
Ты хочешь отлавливать принты? И делать другие принты?
Кіт ✙
Aragaer
довольно легко делается декоратором
Aragaer
а, есть даже готовый
Aragaer
https://docs.python.org/3.7/library/contextlib.html#contextlib.redirect_stdout
Кіт ✙
Кіт ✙
Кіт ✙
Nikolai
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
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
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
Nikolai
Nikolai
Alex
Тарас
Unittest?
Наподобии проверки знаний. Наверное да
Nikolai
Alex
Maxim
а ок.
попробовал в строку превратить результат этого запроса, выдало лист объектов с необходимым мне repr. всё круто, казалось бы, но не итерируется
Alex
Maxim
Кіт ✙
Кто вызвал импорт? А зачем?
там есть один механизм... И он требует, чтобы при каждом обращении было известно, что за программа это делает. Пока что этот механизм работает костыльно, уязвимо и абсолютно не поддерживает многопоток
Nikolai
Nikolai
Ну или templatetag какой нить
Андрей
на гикбрейнсе вроде какиет питоновые тесты были
Nikolai
Maxim
да, на pastebin
нашёл ошибку, крашилось при поиске саб-тасков, я передавал вместо ид таска сам объект, сорян
Nikolai
Зачем имитировать, когда есть redis/memcache
Кіт ✙
Кіт ✙
или линуксовского добра?
Кіт ✙
шоб уязвимости, все дела
Nikolai
А, ты велосипедист
Nikolai
Ну тогда удачи с костылями
Nikolai
Дадада
Кіт ✙
дампы памяти делать, читать ее, все дела
Nikolai
А сторонние либы это апасна