
b0g3r
28.08.2017
13:22:05
ты добавляешь роуты

Kiku
28.08.2017
13:22:09

b0g3r
28.08.2017
13:22:27

Stanislav
28.08.2017
13:22:32

Google

b0g3r
28.08.2017
13:22:35
то есть по всем фронтам это не монкей-патчинг

Mad
28.08.2017
13:22:45
Лол.

b0g3r
28.08.2017
13:22:45
обычный регистрирующий декоратор

Stanislav
28.08.2017
13:22:49
Пример манкипатчинга можно глянуть в гевенте например, вот это есть манкипатчинг

Mad
28.08.2017
13:22:52
Импорт файла это уже выполнение программы.

Валя
28.08.2017
13:22:54
за тех задание спс

b0g3r
28.08.2017
13:23:02

Mad
28.08.2017
13:23:08
Гевент это тоже monkey patching,кто же спорит.
Но не потому что там есть фунция monkey.patch_all

Stanislav
28.08.2017
13:23:35
Лол.
А если ты еблан хамящий, не понимающий в чем смысл патерна декоратор, то кто тебе виноват?

Mad
28.08.2017
13:23:38
А потому что манкипатчинг )

b0g3r
28.08.2017
13:23:42
окей, instnace.a = 2 - это монкей-патчинг?
я вот в коде довольно частенько аттрибуты объектов изменяю :)

Google

Mad
28.08.2017
13:24:02

Stanislav
28.08.2017
13:24:05

Mad
28.08.2017
13:24:34

b0g3r
28.08.2017
13:24:43

Mad
28.08.2017
13:25:00
Ну я так хочу.

b0g3r
28.08.2017
13:25:06
ну хоти :)

Mad
28.08.2017
13:25:09
Я называю манкипатчингом изменение функци объекта.

b0g3r
28.08.2017
13:25:17
ага
а где там изменение функции объекта?
message_handler просто добавляет в список эту функцию)
когда приходит новое сообщение - достает все хэндлеры из списка и передает первому подходящему

Stanislav
28.08.2017
13:25:47

b0g3r
28.08.2017
13:26:00
https://github.com/eternnoir/pyTelegramBotAPI/blob/master/telebot/__init__.py#L1065
ну телеграм!(

Stanislav
28.08.2017
13:26:11
Почитай про декораторы в гугле и не задавай глупые вопросы. Спасибо

Mad
28.08.2017
13:26:23
Я почитал, ещё 10 лет назад.

b0g3r
28.08.2017
13:26:29
не задавать глупые вопросы - сколько угодно, просто безаппеляционно упираться рогом на том месте, где не сечешь - странная хуйня
ну так, окей, где монкей-патчинг функции объекта?
в регистрирующем декораторе

Mad
28.08.2017
13:26:54
Та ща подожжите, дайте подумать.

Google

Mad
28.08.2017
13:28:15
У нас спор о семантике. Я лично называл и будут называть подобные вещи манкипатчингом. И вообще я не любитель декораторов, я их вообще не использую.

b0g3r
28.08.2017
13:28:36
нет, ты называешь монкей-патчингом другое

Alex
28.08.2017
13:28:38

Mad
28.08.2017
13:28:40
Для меня декоторы не python way
В данном случае это изменение фунционала instance'а

b0g3r
28.08.2017
13:28:59
ты говоришь - монкей-патчинг - изменение функций объекта во время выполнения программы
декоратор этого не делает

Mad
28.08.2017
13:29:17
Каждый декоратор @bot.handle_message меняет поведение объекта bot

Stanislav
28.08.2017
13:29:18

Kalinogorsky
28.08.2017
13:29:24
Всем привет. Скажите пожалуйста можно используя форматирование html в боте сделать текст по центру сообщения?

Stanislav
28.08.2017
13:29:29

b0g3r
28.08.2017
13:29:32
декоратор в данном случае, это обычная обертка вместо
@bot.message_handler(...)
def func():
...
->
def func():
...
bot.message_handler(func, ...)

Stanislav
28.08.2017
13:29:53

b0g3r
28.08.2017
13:30:12
внутри message_handler просто добавляет эту функцию в список обработчиков с заданными фильтрами

Sergey❄️
28.08.2017
13:30:30

b0g3r
28.08.2017
13:30:35
куда?
в бот-суппорт?)

Mad
28.08.2017
13:30:39
Видишь, ты согласен, что это изменение фунционала instance'а

Google

b0g3r
28.08.2017
13:30:57

Stanislav
28.08.2017
13:31:16

b0g3r
28.08.2017
13:31:24
ещё и функционала :)

Sergey❄️
28.08.2017
13:31:31

b0g3r
28.08.2017
13:31:42

Rm
28.08.2017
13:31:42
графану кто ставил на бубунту 16? рабочий способ без хлопот кто знает?
смотрите если у меня на server_name висит под домен мой.сайт.дев
как мне указать server_name для графаны? https://habrahabr.ru/post/302720/
server {
server_name graphite.your.site;
listen 80;
access_log /var/log/nginx/graphite.access.log;
error_log /var/log/nginx/graphite.error.log;
root /usr/share/graphite-web;
location = /favicon.ico {
return 204;
}
location /content {
alias /usr/share/graphite-web/static;
expires max;
}
location / {
uwsgi_pass unix:/var/run/graphite.sock;
include uwsgi_params;
}
}

Sergey❄️
28.08.2017
13:31:54

b0g3r
28.08.2017
13:32:01
ну напиши

Admin
ERROR: S client not available

Sergey❄️
28.08.2017
13:32:25
Ваще - ишью на тдесктоп с предложением сделать выпадающее меню с B I для текстового поля

Stanislav
28.08.2017
13:32:28

Sergey❄️
28.08.2017
13:32:32

b0g3r
28.08.2017
13:32:37

Mad
28.08.2017
13:32:43
Демагог и троль
Бро, кончай истерить :) Можешь сколько угодно ярлыков на меня навесить, это смысла не прибавит ничему.

b0g3r
28.08.2017
13:32:44
там ад и пиздец
наследуйся/делай композицию и делай без декораторов

Kalinogorsky
28.08.2017
13:33:27

b0g3r
28.08.2017
13:33:53
но я тебе ещё раз предлогаю переосмыслить own way и не говорить при людях, что он - pythonic way

Google

Mad
28.08.2017
13:34:09
own way?
Ну глянул я сорцы и что? Этот декоратор добавляет новый элемент в self.message_handlers, который НЕ существует на момент объявления класса.

b0g3r
28.08.2017
13:37:48
чего?
кто не существует?

Alex
28.08.2017
13:38:46

Mad
28.08.2017
13:39:01
Да,бро, только в момент ОБЪЯВЛЕНИЯ класса метод init ещё не вызван, он вызывается в момент создания instance

b0g3r
28.08.2017
13:39:28
ты хочешь статический класс с роутингом?)

Mad
28.08.2017
13:39:51
Я хочу описать весь фунционал в момент определения класса, а не в момент создания его instance
Я это уже раза три повторил в разных вариантах.

b0g3r
28.08.2017
13:40:08
pythonic-way - сделать это в файле, используя декораторы
sad but true

Mad
28.08.2017
13:40:55
Я вообще не понимаю тон, в котором проходит дискуссия, большинство вообщше не поняло, о чём я говорю, но отправляет меня матчасть учить.
Жесть.

b0g3r
28.08.2017
13:41:10
второй вариант: запатчить Telebot :)

Mad
28.08.2017
13:42:00

b0g3r
28.08.2017
13:42:15
ок, сделай тоже самое в файле, но без декораторов
зачем ты это классом пытаешься сделать?
и ща ещё задам вопрос, но ты наверное забомбишь
ну вот сделаешь ты класс бота, который в момент объявления будет содержать роутинг. ты же потом как-то с этим работать будешь, запросы к апи делать через bot.send_message? токен тоже вошьешь на момент объявления?

Mad
28.08.2017
13:43:35
Я пытаюсь сделать классом т.к. это логично объявить фунционал сущности в виде методов её класса

b0g3r
28.08.2017
13:43:36
или там всё таки подразумевается создание объекта, но не сразу?