Туночка️
и если да то почему?
Tishka17
чо
Дмитрий
ну, питоновские магические методы плохо дружат с асинхронщиной
Дмитрий
я пытался инициализоровать поле в конструкторе асинхронно, забил
Tishka17
создание объекта - это создание объекта, не надо там делать что-то непонятное, ходяее в сеть
Tishka17
хочешь создавать оъект на основе данных из сети - сделай функцию, которая качает данные из сети и потом создает объект
Bogdan (SirEdvin)
Кто-то может подсказать, как в extras_require добавить extra_require? Вот такой код не хочет работать: 'sanic': [ "sanic~=19.3.1" "sanic-service-utils[sentry,commands,configuration]>=0.5.3" ],
Tishka17
Ну как минимум не забываес про single responsibility
Diego
всем привет. где можно почитать больше о таком общении с базой ? async with request.app[‘db’].acquire() as conn: я не совсем понимаю, что мне потом делать с «conn»
Kop
А с каким форматом лучше работать ? mxl?
Тут не подскажу, 1с тёмный лес
Vladyslav 🇺🇦🇪🇺
Первый раз вижу что кто то юзал гьобальные переменные
Vladyslav 🇺🇦🇪🇺
Используя аргс кваргс краш не словишь если ниче не придет Ифами вытащишь если что то придет Тут же можно сказать что то типа if kwargs['a'] is None: kwargs['a'] = your_default_value
Vladyslav 🇺🇦🇪🇺
Или if not kwargs['a']: Do a
Dogma
Или if not kwargs['a']: Do a
И чо это будет? KeyError
Vladyslav 🇺🇦🇪🇺
Dogma
.get
Sabir
ребят, а кто-нибудь прогал площадки под cpa/cpc? сколько ресурсов в процентном соотношении приходится парсить напрямую, а сколько получается через api/xml получать данных?
Sabir
бекенд для площадок, например
Spirit
Трекеры?
Sabir
что-то наподобие такого http://lookbuck.com/
Sabir
или кешбеки
Sabir
или еще что-то такое
Sabir
надо же данные для сайта/сервиса откуда-то достать
Sabir
мне просто интересно сколько приходится парсить напрямую
Vladyslav 🇺🇦🇪🇺
И чо это будет? KeyError
Либо всем аргументам на входе прописать None Если ничего не приходит, значения остаются None. Дальше фильтровать Так ошибки не будет Но вариант с именованными/неименованными аргументами тоже рабочий
Vladyslav 🇺🇦🇪🇺
Хоспаде
Vladyslav 🇺🇦🇪🇺
Доебался
Андрей
Всем пофиг
âDêšwu öBipci
Надо if is not None
Tishka17
*args, **kwargs If kwargs['a']: Do a If kwargs['b']: Do b Не?
Как сделать апи абсолютно неочевидными
Vladyslav 🇺🇦🇪🇺
Как сделать апи абсолютно неочевидными
Описать метод док стрингом
Tishka17
Описать метод док стрингом
Ага. Прощайте статические анализаторы и подсказки IDE
Vladyslav 🇺🇦🇪🇺
Vladyslav 🇺🇦🇪🇺
Ну юзайье тогда глобальные переменные лол
Vladyslav 🇺🇦🇪🇺
Или пишите стейт машины
Dogma
Ага. Прощайте статические анализаторы и подсказки IDE
Иде докстринг умеет парсить. Наркоман. Помешался на своих тайпхинтах
Dogma
ну смотря как оформить, да
Поэтому до ссанины "тайпхинты" и существовал сфинкс
Tishka17
ну пока у всех кто делает kwargs я видел в докстринге "смотрите описание остальных аргументов вон в том классе, тут так же"
Dogma
не юзаешь type hints?
Ну когда иде уже ахуевает в край и не может по shift+space вывести хинты методов то юзаю их в том месте где присваиваю этот объект
Dogma
И то на время пока энта подсказка нужна, потом ее просто убираю
🍁 Jaŭhien
Ну и зря
Required
Андрей
Пара годных групп тут есть
Zi
подскажите, получится ли в одной итерации цикла содать объект, во второй добавить данные и засейвить?
Stepan
подскажите, получится ли в одной итерации цикла содать объект, во второй добавить данные и засейвить?
Легко: воткнуть чек на айди, который до создания равен 0, а после равен айди созданного объекта
Zi
у меня перебирается текстовый файл построчно. в одной строке фио, в другйо возраст. в третей город в четвертой список заведений в пятой другой город в шестой опять список заведений.
Stepan
Почему не брать чанками по 6 строк тогда? И сразу, без костылей, втыкать правильный объект в базу
Zi
потому что на одного может быть 6 строк, на другого 26
Stepan
Все равно лучше написать алгоритм-определятор начала следующего человека. И делать одно обращение в базу на человека
Stepan
Иначе сначала создание, потом доставания по айди, апдейт...
Vladyslav 🇺🇦🇪🇺
Собрать паттерн состояний с каким то шагом При каких то условиях выполяется шаг 1. Проверили состояние. Если не измпнилось идем дальше. Если условие сработало, изменяем состояние и это является триггером для обработки на новой инстанции Не зависимо от того какой по счеиу цикл
Vladyslav 🇺🇦🇪🇺
И так сколько угодно проверок, обработок в одном цикле И в конце, когда пройдены все этапы и данные стали вылидными, пишем инструкцию для break
Vladyslav 🇺🇦🇪🇺
https://m.habr.com/ru/post/160105/
Grigoriy
Всем доброго времени суток. Возникла дискуссия, решил спросить мнения чата. Есть код, в котором приcутствует вот такого рода методы класса def some_function(self, a, b, *args, **kwargs): kwargs['c'] = "Some value" kwargs['d'] = "Some another value" return external_function(a, b, *args, **kwargs) Лично мне такая конструкция не нравится и я считаю, что аргументы нужно передавать явно, а не через kwargs Что скажете?
Grigoriy
как минимум неплохо бы удостовериться, что ты не модифицируешь kwargs['с'] (хотя, это зависит от конкретного кейса)
код чужой, я разбираюсь только в нём - суть в том, что передаётся какой-то набор параметров, потом в этом методе добавляется ещё несколько (не модифицируются) и потом весь этот набор передаётся в external_function
Tishka17
тут же совершенно нельзя понять какие параметры принимает функция.