
Трусов
11.02.2017
13:06:33
субботний привет
слушайте, а если использовать telebot для ботов телеграма, можно как то запустить в нем while True чтобы дергать например что то из базы и проверять, если условие совпадает то делать send_message. Просто похоже bot.polling() перехватывает поток. Или я не в ту сторону думаю?

Georgy
11.02.2017
13:09:34
https://github.com/python-telegram-bot/python-telegram-bot
можно асинхронно хоть что делать

Трусов
11.02.2017
13:11:19
да и в telebot асинхронность есть
собственно я так и предполагал

Google

Трусов
11.02.2017
13:11:27
спасибо что развеяли сомнения

Alexey
11.02.2017
18:43:50

gravizappa
11.02.2017
19:03:02
во, а есть какое нибудь рабочее питон апи для телеграма, не для бота, а для клиента именно? можно и не питон, главное чтоб работало

Alexey
11.02.2017
19:04:44
А давайте банить за телеграммоботов.

H
11.02.2017
19:05:00
pytg?

gravizappa
11.02.2017
19:18:36

Eugine
11.02.2017
19:24:31
А нам - для удовольствия

Alexey
11.02.2017
22:38:51
@zartsoft дедушка, а почему в collections — defaultdict, deque, но Counter?

Denis
11.02.2017
23:14:52
Потому что d всегда маленькая, очевидно

Alexey
11.02.2017
23:14:54
Ты не дедушка.

Zart
11.02.2017
23:18:42
пнятия не, но вероятно потому что авторы так выбрали

Alexey
11.02.2017
23:19:48
Принято.

Zart
11.02.2017
23:20:13
ну и половина кода начинала жизнь вне стдлиба, и была влита позже

Google

Alexey
11.02.2017
23:20:41
Ну тот же каунтер и дефолтдикт в 2.7 только занесли.

Zart
11.02.2017
23:20:47
дефолтдикт на пайпи точно был отдельным пакаджем
или ордеред..

Alexey
11.02.2017
23:21:11
Но. Или.
Так и заносили бы в стдлиб как-нибудь унифицированно.

Zart
11.02.2017
23:21:22
https://pypi.python.org/pypi/ordereddict
если реально интересно - можно подымать архивы мыллистов и багтракер

Alexey
11.02.2017
23:22:38
Да не, я так чот, импорты расчёсывал и приподзадумался.

Zart
11.02.2017
23:22:59
https://mail.python.org/pipermail/python-dev/2006-February/061261.html ы

Alexey
11.02.2017
23:24:29
Любопытное чтиво.

Zart
11.02.2017
23:24:56
так родился dict.__missing__

Alexey
11.02.2017
23:26:23
Спасибо, хорошая ссылка.

Zart
11.02.2017
23:28:44
дефолтдикт видать оставили в нижнем регистре изза этого
что изначально хотели встроенный тип

Alexey
11.02.2017
23:29:06
А deque по аналогии?

Zart
11.02.2017
23:29:11
не уверен
queue.Queue как антитезис

Alexey
11.02.2017
23:29:36
Хм, точно.
А чего дек в туда не сунули рядом?
Как всё сложно в этих ваших историях. Хорошо было прийти на готовый 2.7 и только иногда читать про историю возникновения мира, 2.2 там, 2.4.

Google

Stanislav
11.02.2017
23:31:58

Alexey
11.02.2017
23:32:07
Фу, халявщик ньюфаг.

Zart
11.02.2017
23:33:20
а когда-то 'c' in 'string' работало лишь для подстрок в один символ
потому что превращалось в 'c' in ['s', 't', 'r', 'i', 'n', 'g']
когда-то try/finally и try/except приходилось вкладывать друг в друга
а еще раньше, key in somedict не существовал и весь стдлиб использовал somedict.has_key(key)

Alexey
11.02.2017
23:35:42

Zart
11.02.2017
23:36:22
что как?

Alexey
11.02.2017
23:36:38
В блоке с файнли — блок с экзептом?

Zart
11.02.2017
23:36:44
финалли и ексепт разрешили в один трай лишь в 2.5 афаир
with expr [as name]: надо было тоже вкладывать, не то в 2.6, не то в 2.7 добавили туплоформу with expr [as name], ...:

Alexey
11.02.2017
23:38:02
Блин, как же удобно сейчас жить.

Zart
11.02.2017
23:38:51
except Class as err: # раньше это было запятой, что часто приводило к ошибкам. as-форму добавили в 2.6 как альтернативную, а в 3.0 запятую запретили совсем

Alexey
11.02.2017
23:39:25
Да, запятые вот здесь — зло. Сам наёбывался несколько раз.

Zart
11.02.2017
23:40:16
именно этот синтаксис во многом причина того что для портирования на пи3к многие проекты накладывали ограничение на вторую версию - не ниже 2.6
except Exception as err: не работает в 2.5
except Exception, err: не работает во всех 3.х

Alexey
11.02.2017
23:41:17
А натурально руками рерайтить — не?

Zart
11.02.2017
23:41:46
поэтому вставал выбор
или отказываться от поддержки ниже 2.6, или переходить на
except Exception:
err = sys.exc_info()[...]

Google

Alexey
11.02.2017
23:42:01
Ой, фубля какая. Ну да, тогда отказываться.

Zart
11.02.2017
23:42:04
был еще вариант 2to3, но это говно
некоторые проекты пошли по 2ту3 пути... бррр

Stanislav
11.02.2017
23:42:47

Zart
11.02.2017
23:43:02
что работает?

Alexey
11.02.2017
23:43:05

Stanislav
11.02.2017
23:43:10

Zart
11.02.2017
23:43:12
неа
оно механическое, а не семантическое
т.е. без ручной проверки результата можно некисло вляпаться

Alexey
11.02.2017
23:44:27
Ну так сделал, и пошёл дифф читать.

Stanislav
11.02.2017
23:45:01
Не, если стабильность то только ручками

Zart
11.02.2017
23:45:08
собсно на практике это вылилось в то, что в сетаптулзы добавили use_2to3 - http://setuptools.readthedocs.io/en/latest/python3.html#using-2to3

Stanislav
11.02.2017
23:45:16
Особенно если шаришь в различиях двух версий

Zart
11.02.2017
23:45:34
это позволяло на третьем автоматом прогонять 2ту3 на исходниках
и работало это как говно

Alexey
11.02.2017
23:45:45
Если шаришь в различиях, то просто читая видишь как будет на диалектах и сразу на каких версиях. Вон Зарт например так видит сквозь стены, например.

Zart
11.02.2017
23:47:05
потому что когда приходилось работать с обоими питонами сразу, и юзать ин-плейс версию, это приводило к тому, что пакадж ломался нахуй и во втором (потому что исходники сконвертированы)
и в третьем (потому что повторный прогон 2ту3 не пашет)
геморрой короче
но этот период был коротким, к счастью

Google

Alexey
11.02.2017
23:47:38
Зарт, а есть для староёбов какой-нибудь квикгайд: 2.* to 3.5?

Zart
11.02.2017
23:47:43
полно

Alexey
11.02.2017
23:47:51
Чтобы вот сразу все различия хуяк, пролистал, вкурил и пошёл ебашить на 3.5 как родной?
Оке, упиздовал в гуглы.

Zart
11.02.2017
23:48:10
https://docs.python.org/3/howto/pyporting.html например в сраной доке питона

Stanislav
11.02.2017
23:48:46
KVM vs OPENVZ?

Alexey
11.02.2017
23:48:53

Stanislav
11.02.2017
23:49:01

Alexey
11.02.2017
23:49:09

Stanislav
11.02.2017
23:49:16