@ru_python

Страница 8422 из 9768
LighteR
19.03.2019
14:11:34
Не, просто выстреливались бы в очередь события, а консьюмеры бы уже что-нибудь дополнительное дописывали в базу
В этом случае у тебя будет точно такая же ситуация должен найти все места, где мог произойти инсерт / update

Tishka17
19.03.2019
14:13:23
В этом случае у тебя будет точно такая же ситуация должен найти все места, где мог произойти инсерт / update
в этом случае я буду искать запись сущности в очередь. А тут блин ORM, потенциально любое обращение к объекту может оказаться апдейтом

LighteR
19.03.2019
14:14:35
в этом случае я буду искать запись сущности в очередь. А тут блин ORM, потенциально любое обращение к объекту может оказаться апдейтом
Да, тут ты прав. Если консьюмеры останутся старые, то тебе достаточно будет только сообщение в очередь отправить

Tishka17
19.03.2019
14:14:58
и потом поменять и консьюмеров если надо

Google
Tishka17
19.03.2019
14:15:48
кстати, а алхимия же любые изменения в объекте пишет в БД, да?

я могу как-то выключить это, чтобы явно надо было говорить типа “вот этот объект сохрани”?

LighteR
19.03.2019
14:17:01
Меня тоже смущают orm-сигналы. С одной стороны это реализация pub/sub, но с другой все это части одной атомарной операции

Tishka17
19.03.2019
14:17:29
а с третьей - неявная бизнелогика

f1nnix
19.03.2019
14:24:10
Есть фласковская ручка для POST-запроса. Ей в body может быть передан один из двух параметров — username или email. Я использую werkzeug-овский парсер. Мне нужно найти пользователя в БД по полученным в body данным: или по мылу, или по email. Если ничего не найдено, надо получить None. post_args = { 'email': fields.String(missing=None), 'username': fields.String(missing=None), } Любой аргумент из парсера может быть None. И у пользователей может не быть email или username (но не обоих сразу). Поэтому я не могу сразу передать аргументы в Алхимию, а собираю словарь аргументов для запроса. Если этого не сделать, мы получим первого юзера, где email или username отсутствет, а не то, что запрошено на самом деле: # prevent equal-None filter query user, query_kwars, = None, {} email, username = args.get('email'), args.get('username') # prepare request query if email: query_kwars['email'] = email elif username: query_kwars['username'] = username if query_kwars: # if at least one condition exists user = db.session.query(User) \ .filter_by(**query_kwars) \ .one_or_none() if user is None: # user was not populated with parsed conditions .... Как сделать лаконичнее? #sqlalchemy #werkzeug

Влад
19.03.2019
14:29:27
всем привет, нужно помощь с скриптом на баше while read flname dob ssn tel status do echo "Name : $flname" echo "DOB : $dob" echo "SSN : $ssn" echo "Telephone : $tel" echo "Status : $status" done < $INPUT есть такой скрипт, в нем первая переменная имеет вид: name@domain, нужно как то разделить его что бы было отдельно name и domain переменны и дальше их использовать в цикле, как это сделать?

как это реализовано на perl while (<>) { chomp; my ($email,$first,$last,$maildistr) = split(/\,/, $_, 4); my ($uid, $domain) = split(/@/, $email, 2); }

Tishka17
19.03.2019
14:30:22
Есть фласковская ручка для POST-запроса. Ей в body может быть передан один из двух параметров — username или email. Я использую werkzeug-овский парсер. Мне нужно найти пользователя в БД по полученным в body данным: или по мылу, или по email. Если ничего не найдено, надо получить None. post_args = { 'email': fields.String(missing=None), 'username': fields.String(missing=None), } Любой аргумент из парсера может быть None. И у пользователей может не быть email или username (но не обоих сразу). Поэтому я не могу сразу передать аргументы в Алхимию, а собираю словарь аргументов для запроса. Если этого не сделать, мы получим первого юзера, где email или username отсутствет, а не то, что запрошено на самом деле: # prevent equal-None filter query user, query_kwars, = None, {} email, username = args.get('email'), args.get('username') # prepare request query if email: query_kwars['email'] = email elif username: query_kwars['username'] = username if query_kwars: # if at least one condition exists user = db.session.query(User) \ .filter_by(**query_kwars) \ .one_or_none() if user is None: # user was not populated with parsed conditions .... Как сделать лаконичнее? #sqlalchemy #werkzeug
1) query_kwars = {k:args[v] for k in (“email”, “username”) if k in args } 2) как твой, но вместо args.get + if xxx сделать if xxx in args

Алексей
19.03.2019
14:46:02
Всем привет! Может кто-нибудь сталкивался с такой проблемой. Делаю запросы с помощью sqlalchemy к базе PostgreSQL и datetime возвращается без таймзоны (UTC). Если делаю тот же запрос с помощью psycopg2, то возвращается всё норм. Не могу нигде найти понятного способа для коннекта sqlalchemy указать таймзону



Нашёл вот такой способ на stackoverflow engine = sqlalchemy.create_engine("...", connect_args={"options": "-c timezone=utc"}) Но sqlalchemy ругается, что аргумент options не поддерживается

Google
Artur Rakhmatulin
19.03.2019
14:49:14
а в модели алхими что прописано на это поле?

f1nnix
19.03.2019
14:52:06
Tishka17
19.03.2019
14:52:36
Спасибо, заюзал генератор и стало куда приятнее!
когда появяится числа не забудь его выкинуть =))

Mr/Gob
19.03.2019
14:56:11
Есть список ((( list = [o,p,h] ))) как доставать попорядку слова?

Tishka17
19.03.2019
14:56:20
а скобки зачем?

Mr/Gob
19.03.2019
14:56:33
То что код

я указал

Tishka17
19.03.2019
14:56:43
кавычка обратная ;-)

Mr/Gob
19.03.2019
14:56:54
Понял

Так ка доставать от туда по порядку слова?

Tishka17
19.03.2019
14:58:17
эм, в смысле достать?

и по какому порядку? как лежать в списке?

for i in list?

Mr/Gob
19.03.2019
14:59:09
вот я хочу спросить солово одно! потом через пару минут второе

и так дальше

Михаил
19.03.2019
15:00:09
Интересно что у него за файл, настройки какие-нить?
Файл с небольшим справочником. Размер 3-15 мегабайт. Разворачивать СУБД для этого нецелесообразно, тем более есть вероятность что этим файлом придется делиться. Задача, штатными средствами языка сотворить возможность поиска по файлу и изменение информации в нем в произвольной части.

Mr/Gob
19.03.2019
15:02:23
Ладно спрошу так (Есть файл Gb.txt там слова вряд.. Как по порядку доставать по одному?)

Михаил
19.03.2019
15:03:40
Ладно спрошу так (Есть файл Gb.txt там слова вряд.. Как по порядку доставать по одному?)
Наверное доставать их по разделителю "пробел"+ иные знаки.

Mr/Gob
19.03.2019
15:03:51
Как??

Google
Mr/Gob
19.03.2019
15:03:55
Как так сделать?

Михаил
19.03.2019
15:04:31
Посимвольно, в цикле с условием на нахождение разделителя.

Mr/Gob
19.03.2019
15:05:08
Можна пример кода?

Если не сложно

Михаил
19.03.2019
15:05:59
Пока нет, со Смарта сижу. Кодить экранной клавой изврат ещё тот...

Mr/Gob
19.03.2019
15:06:39
Вот пол гугла перерыл а найти как не могу.. Не пойму! как не пробую не работает

Stepan
19.03.2019
15:07:37
Ладно спрошу так (Есть файл Gb.txt там слова вряд.. Как по порядку доставать по одному?)
Все слова в одной строке через пробел или как-то по-другому?

IDK
19.03.2019
15:07:37
по порядку чего?

Михаил
19.03.2019
15:08:09
Интересная задачка, завтра с дежурства приду, накидаю алгоритм.

Mr/Gob
19.03.2019
15:08:15
Баз нал бум

вот так

IDK
19.03.2019
15:08:29
readline()

Mr/Gob
19.03.2019
15:08:43
Подробней можна?

IDK
19.03.2019
15:09:02
погугли

Stepan
19.03.2019
15:09:32
python file iterate lines по-моему запрос вполне очевидный

Первая же ссылка

Mr/Gob
19.03.2019
15:10:19
Я понял.. Но оно либо все сразу показывает или только первую строку

Eldar
19.03.2019
15:10:26
Подробней можна?
а можно такие вопросы в питон бегинерс задавать?

Mr/Gob
19.03.2019
15:10:43
Угу

Vanya
19.03.2019
15:13:57
namecheap.com
а они чекают данные?

Google
Tishka17
19.03.2019
15:14:13
Баз нал бум
for line in file:

Vanya
19.03.2019
15:15:04
Stepan
19.03.2019
15:16:49
а перс данные просит?
Ты серьезно реплаишь сообщения 2016 года в надежде на ответ? Может лучше сформулировать новый вопрос?

Vanya
19.03.2019
15:17:25
Ты серьезно реплаишь сообщения 2016 года в надежде на ответ? Может лучше сформулировать новый вопрос?
ну мне интересно возможно ли купить домен на namecheap.com по фейк данным

те написать васю пупкина и оплатить виртуалкой яндекса

Mr/Gob
19.03.2019
15:21:28
""" myfile = open("test.txt", "rU") #чтение из файла for line in myfile.xreadlines(): #построчно читаем файл и выводим на экран print line """ Как выводить не все зразу а только по строке кодга нада?

IDK
19.03.2019
15:23:01
а когда надо?

Так то условия этому служат

Mr/Gob
19.03.2019
15:23:39
?

IDK
19.03.2019
15:24:03
if

Mr/Gob
19.03.2019
15:25:14
Блииин только понял что не так делал... извините только учусь

Nikita
19.03.2019
15:30:21
бойзы, я уже спрашивал, и мне дали хороший совет... но увы, действительность жестка короч суть есть скрипт, который обращается к серваку и обрабатывает запросы делает это он всё в цикле но собсно проблема какая, при получении какой либо ошибки (к примеру кодировка не та), скрипт крашится впринципе это вылавливаю и фиксю обработками ошибок и вот это добро както надо запускать на удалённом хостинге мне посоветовали сделать из скрипта демон/сервис, но увы, на хостинге такого низя

как запустить скрипт, что б ещё можно было б ошибки вылавливать?

Nikita
19.03.2019
15:31:58
В смысле нельзя?
ну хостинг такой, обрезаный initd нет, systemd нет

Tishka17
19.03.2019
15:32:17
Upstart?

Tishka17
19.03.2019
15:32:22
:))

да просто python main.py
Ээ. Это ты где так пишешь?

Google
IDK
19.03.2019
15:32:44
я в тмикс пхаю

Tishka17
19.03.2019
15:33:09
Ну вообще тот же gunicorn прекрасно рестартует воркеры

Nikita
19.03.2019
15:33:11
Ээ. Это ты где так пишешь?
подключаюсь по ссх и запускаю вот такой вот хостинг странный

Nikita
19.03.2019
15:34:32
Ну вообще тот же gunicorn прекрасно рестартует воркеры
ну хз чё с юникорном но вкорне вот чё есть passenger_wsgi.py

Tishka17
19.03.2019
15:36:41
Так, ну у тебя же не веб приложение, да?

Nikita
19.03.2019
15:36:46
эт чё, какой-то веб-хуеб пилить? и запускать скрипт чилдом?

телеграм бот примитивный

Tishka17
19.03.2019
15:37:10
while true; app.py; done

Упадет, перезапустится

Nikita
19.03.2019
15:37:46
хм, дык если ошибка будет, сыпанётся же а хер узнаешь почему

Страница 8422 из 9768