@ru_python

Страница 1139 из 9768
Richard
29.06.2016
11:36:05
Есть ли знатоки SQLAlchemy? Или, может, просто кто подскажет как можно сделать такое есть некоторый фильтр, заранее неизвестный: ` select_filter = where(a==1).where(a==2) `

И есть некоторый запрос query.

Хочется программно сделать так: query.where(a==1).where(a==2).

Alexey
29.06.2016
11:37:15
ты ведь понимаешь, что будет ровно ничего на выходе?

Google
Richard
29.06.2016
11:37:17
Т.е. как бы вызвать аттрибуты у этого query. Как в питоне этого сделать пока не допёр, в алхимии тоже пока не нашёл.

Alexey
29.06.2016
11:37:39
WHERE a == 1 AND a == 2 же, нет?

Richard
29.06.2016
11:37:41
На выходе будет алхимиевский selectable, который потом выполняется и делает своё дело.

Да пофиг, это для примера. Замени a на b.

Alexey
29.06.2016
11:38:13
а, я думал у тебя это проблема.

Richard
29.06.2016
11:38:30
Просто хочется передать в функцию запрос и фильтры и получить selectable который потом выполнить.

В принципе задача равносильна, например, задаче "передать в функцию словарь и методы словаря и получить функцию, выполняющую задуманное" типа method = some_func({1:2, 3:4}, update({3:3, 5:6})) а потом сделать method() и оно обновится.

Alex
29.06.2016
11:40:37
передавай в фукнцию свой Query

и фильтры в удобном тебе формате

а, хотя не получица

не, ты конечно можешь наворотить кучу магии

и сделать это для одной конкретной модели - т.е. тебе её надо передавать явно в свою функцию

и внутри фукнции генерить запрос

Google
Alex
29.06.2016
11:48:33
не?

типа: def make_query(obj, filters): db.session.query(obj).filter_by(....)

Richard
29.06.2016
11:50:29
Там не только фильтры будут а ещё джоины и всякие select_from

Alex
29.06.2016
11:50:39
да, я как раз хотел написать

что если у тебя джоины будут, то тут уже сложнее

Richard
29.06.2016
11:51:43
Пока я сошёлся на списке этих условий, теперь думаю как мне вызывать метод у объекта когда я имею перед собой не имя метода (тут я бы воспользовался getattr(obj, name) а саму функцию с аргументами.

Andrey
29.06.2016
11:57:14
Слишком много магии получается. Уверен что в итоге не сядешь на какой-нибудь дилдак при дальнейшем использовании?

@richardtheblade

Richard
29.06.2016
11:59:49
Не знаю, может и сяду. Но я вижу в этом определённое преимущество.

Andrey
29.06.2016
12:00:57
Может проще PLAIN SQL генерить и его исполнять?

Richard
29.06.2016
12:07:58
Как раз не проще.

Собственно, у нас куча классов выполняющие кучу SQL, который отличается одной-двумя строками и условиями, и может быть параметризован. Вот эту параметризацию я и делаю.

Andrey
29.06.2016
12:20:14
def call_method_1 (obj, method_name, params): return getattr(obj, method_name)(**params) d1 = {"a":1, "b":2} call_method(d1, 'update', {"c":3}) print d1 def call_method_2 (obj_method, params): return obj_method(**params) d2 = {"a":10, "b":20} call_method_2(d2.update,{"c":30}) print d2

@richardtheblade

Andrii
29.06.2016
12:22:45
Есть ли опытные люди с aiohttp ?

Cykooz
29.06.2016
12:23:54
Завадавай вопросы без прелюдий

Alexey
29.06.2016
12:24:10
А кто-нибудь пишет на питоне?

Google
[Anonymous]
29.06.2016
12:24:20
Vitali K.
29.06.2016
12:24:21
Не

Alexey
29.06.2016
12:24:22
А хоть кто-нибудь использует базы данных?

Vitali K.
29.06.2016
12:24:27
Тут все на Delphi

Alexey
29.06.2016
12:24:31
Может быть кто-нибудь умеет читать?

[Anonymous]
29.06.2016
12:24:44
Может быть кто-нибудь умеет читать?
Я не умею читать, что ты спросил?

Vitali K.
29.06.2016
12:24:55
?

[Anonymous]
29.06.2016
12:25:13
Что?
Что?

Alexey
29.06.2016
12:25:16
Что „что”?

[Anonymous]
29.06.2016
12:25:24
А?

Alexey
29.06.2016
12:25:30
Кто здесь!?

[Anonymous]
29.06.2016
12:25:36
Где?

Vitali K.
29.06.2016
12:25:38
Я не умею чтить вообще. Прочтите мне что я написал, а то я на знаю

[Anonymous]
29.06.2016
12:25:57
Vitali K.
29.06.2016
12:26:18
Мы write only

Alexey
29.06.2016
12:26:50
'w+b'

[Anonymous]
29.06.2016
12:26:50
Прям как regexpы

Vitali K.
29.06.2016
12:27:14
Write only regexpы?

Kamil
29.06.2016
12:27:28
а Django на Python 3 всё ещё моветон? или можно для продакшн?

Google
Vadim
29.06.2016
12:28:11
Dmitry
29.06.2016
12:28:35
ой всё

нормально на питон 3

переходите

пацаны я разрешаю

Vitali K.
29.06.2016
12:29:11
Говорят там нету распаковки туплов

Vadim
29.06.2016
12:29:16
сейчас вроде только совсем спецфичные вещи + заброшенное гавно не переписаны

Alexey
29.06.2016
12:29:32
говорят там можно писать по-русски.

Admin
ERROR: S client not available

Vadim
29.06.2016
12:30:05
говорят там хаскель инлайнить можно

Dmitry
29.06.2016
12:30:51
говорят там хаскель инлайнить можно
как грит один хохлоблоггер, "в огороде бузина а в киеве дядка"

Vadim
29.06.2016
12:36:02
да уж http://take.ms/Ktcih

Anonymous*
29.06.2016
12:49:36
Друзья, как правильно регексп AZaz и пробел еще

Типа английский алфавит с пробелом и больше ничего

bakatrouble
29.06.2016
12:50:59
[A-Za-z\s]

Anonymous*
29.06.2016
12:51:08
Спасибо

H
29.06.2016
12:53:41
[a-z ], re.I

Anonymous*
29.06.2016
12:55:09
Не помогло если честно

Google
Марк
29.06.2016
12:55:09
Для выполнения задания нужно открыть любую в меру длинную статью из Википедии. Например, эту: Михайловский замок. Текст статьи нужно скопировать в отдельный файл и сохранить на компьютере. 1 (5 баллов). Найти и распечатать на экране все упоминания имен вида "инициал + фамилия" (например: Я. Меттенлейтер). 2 (8 баллов). Найти в статье вообще все имена (инициалы + фамилия, например, В. И. Наливайко; имя + фамилия, например, Винченцо Бренна). При этом в найденное может попасть лишнее (например, Круглому Тронному), но не должно ничего теряться. 3 (10 баллов). Для каждого найденного в предыдущем пункте случая отделить имя (или инициалы) от фамилии, для каждой фамилии создать отдельную папку, а внутри неё для каждого сочетания "инициалы + фамилия" или "имя + фамилия" создать текстовый файл с предложением, в котором упоминается это вхождение.
Опа опа, чатиг превращается в филиал по сдаче местячкового ЕГЕ?

Dim
29.06.2016
12:55:22
\s - это и табуляция и \n

одиночный пробел это \<пробел>

Anonymous*
29.06.2016
12:55:44
Эге... я помню математику на 41 написал в 2008

Denis
29.06.2016
12:56:11
Ууу

Kolyann
29.06.2016
12:57:07
оно ж в 2008 вроде ещё необязательным было

Anonymous*
29.06.2016
12:57:33
Не, с 2007 по крайней мере им у меня на области

Ну я и в 2007 писал))

Johnnie
29.06.2016
12:59:10
\s ?

или табы не нужны?

Denis
29.06.2016
12:59:57
ТНН

Pavel
29.06.2016
13:00:31
мб пробел все-таки не надо экранировать слэшем?

H
29.06.2016
13:00:49
Не помогло если честно
опять даже скопировать код не можешь?

Johnnie
29.06.2016
13:01:00
https://regex101.com/r/fI8oI9/1

Марк
29.06.2016
13:01:26
[A-Za-z\s]
\t ж вроде

bakatrouble
29.06.2016
13:01:40
\t - это табуляция

Марк
29.06.2016
13:02:03
\s тогда

Johnnie
29.06.2016
13:02:25
Matches any space, tab or newline character. /\s/ any whitespace character

Dim
29.06.2016
13:02:42
мб пробел все-таки не надо экранировать слэшем?
его можно не экранировать, экранирование работает лишь как группировка символов

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