Tishka17
Трейсы какие-нибудь
Safe
Ребят всем ку, есть готовые скрипт телеграмм бота что посты с фейсбука постило с группы?
Павел Максимов
Подскажите пожалуйста, как получить методы класса, вместе с методами его родительского класса?
Tishka17
А dir чем не годится?
Tishka17
И зачем это вообще?
Павел Максимов
А dir чем не годится?
dir не подходит, потому что мне метод нужно вызвать
Tishka17
Тогда давай-ка исходную задачу
Tishka17
Выглядит очень подозрительно
Aragaer
ну и вызывай, чо
Aragaer
teh_object.getattr("teh_method")(yarrgs)
Павел Максимов
Aragaer
ну то есть можно и просто взять и вызвать
Павел Максимов
Тогда давай-ка исходную задачу
у меня есть название метода в виде строки, мне надо вызвать метод класса. Я нашел что в dict лежат методы словарем, можно получить по названию и вызвать. А вот если этот метод класса находится в родительском, то его в dict не видно
Павел Максимов
Tishka17
Почему это именно название метода, как оно в коде, а не название как оно, например, в апи торчит
Tishka17
лучше не спрашивай)
Да нет уж, интересно.
Tishka17
Есть подозрение, что ты щас можешь сделать дыру в безопасности или ещё что
Nik
Кстати, как?
https://docs.python.org/3/library/functions.html#callable callable(object) Return True if the object argument appears callable, False if not.
Tishka17
А это жесть какая-то
Sergey
Вся эта ситуация - сама по себе жесть.
Tishka17
Не надо напрямую вызывать __getattribute__
Tishka17
Вся эта ситуация - сама по себе жесть.
Это да, и топикстартер не колется зачем ему эти костыли
Tishka17
у меня есть название метода в виде строки, мне надо вызвать метод класса. Я нашел что в dict лежат методы словарем, можно получить по названию и вызвать. А вот если этот метод класса находится в родительском, то его в dict не видно
Есть подозрение, что тебе нужен обычный словарь с ссылками на разрешённые методы, чтобы на вход не могли какую-то жесть передать типа __init__ и не сломали тебе всё
Sergey
учту, спасибо
@Tishka17 правильно написал, используй лучше форму: getattr(Some_class, 'some_method')(some_param) вместо предложенной выше.
Tishka17
Ну я все таки против использования getattr
Павел Максимов
@Tishka17 правильно написал, используй лучше форму: getattr(Some_class, 'some_method')(some_param) вместо предложенной выше.
ок, переделал, спасибо всем. Может чот неправильно делаю, но это тоже метод познания, как нужно делать правильно)
Arnaud
#работа #удаленный, проект на 1 месяца: создание парсеров на Python 3 для сбора данных о координатах, адресе, времени работы и других атрибутах для точек торговых/обслуживающих сетей доступных на сайте. используя библиотеки reqests, bs4, selenium, другие библиотеки. Результатом работы парсера в pandas.DataFrame. 100 URL - бюджет 75 000 руб.
Олег
😏
Richard
Maxim
Не является.
Richard
Не является.
Только тем, что код как свинец?
Aragaer
не является
Aragaer
как там было - "комментарии этот как дезодорант, которым пытаются замаскировать вонищу"
Anonymous
Должна быть документация для разработчиков. Комментики - ну такое. Там много не напишешь, имхо
Anonymous
Документацией(не из инетика), кстати, я проникся лет восемь назад. Увольнялся тимлид - и он два последних месяца корпел над доками. В итоге получился 200 страничный мануал вообще по всему, что было сделано, как работает, по всем методам и классам.
Валентин
Должна быть документация для разработчиков. Комментики - ну такое. Там много не напишешь, имхо
Суть не в этом, просто код должен быть понятным и хорошо читаться без комментариев
Tishka17
комментарии нужны, но по делу
Tishka17
плохой комментарий хуже отсутствия его
Валентин
комментарии нужны, но по делу
можно пример комментов по делу?) Не то что не верю, просто в голову не приходит что-то
Anonymous
Суть не в этом, просто код должен быть понятным и хорошо читаться без комментариев
Было бы так всё просто - доки не были бы нужны. Исходник открыл - и усё понятно. Но нет. Не понятно
Валентин
Было бы так всё просто - доки не были бы нужны. Исходник открыл - и усё понятно. Но нет. Не понятно
это разные уровни. В доках пишут, как кодом пользоваться, как его расширять и тд. Никто не объясняет по шагам функции в документации.
Валентин
А комментарии пишут, чтобы как раз объяснить принцип работы кода.
Tishka17
можно пример комментов по делу?) Не то что не верю, просто в голову не приходит что-то
по делу - например описание для чего делается какое-то вычисление. Или описание откуда взята константа
Aragaer
комментарии нужны чтобы объяснить, зачем делается то или иное неочевидное действие
Aragaer
особенно если это нельзя объяснить никак иначе
Aragaer
реальный пример у меня на работе ecc = ecc >> 22 | ecc < 2;
Tishka17
MAX_PACKET_SIZE = 256 # мы должны гарантировать что наши сишные друзья смогут прочитать пакет за раз
Aragaer
и комментарий "поправляем layout"
Aragaer
мне пришлось пойти к железячникам, найти в доке на контроллер оперативки табличку, как считается ecc, сопоставить с докой на линуксовый подсчет ecc, найти отличие
Олег
подскажите, плиз, что можно в такой ситуации сделать
Олег
почему-то не запускается фласк, пробовал env переменную выставить
Aragaer
и после этого накатать коммент на 10 строчек, чтобы объяснить, зачем вот так два бита перекидываются. И коммит. Коммит коммент строк на 40, с полным объяснением
Олег
команду хоть покажи
flask db upgrade, самая верхняя строка
Aragaer
там одной доки недостаточно, надо курить две разные доки, чтобы найти между алгоритмами расхождение
Aragaer
плюс терминология разная
Олег
у тебя есть и папка app и файл app.py
да, это меня и удивляет
Tishka17
да, это меня и удивляет
Ну так что он по твоему импортирует?
Tishka17
Я вот не знаю
Aragaer
в смысле в одной доке одна терминология, в другой другая. И надо было отдельно думать, как выстроить соответствие между ними. Оказалось - передвинуть два бита из конца в начало.
Tishka17
Короче, лучше оставь что-то одно
Олег
Короче, лучше оставь что-то одно
ай, это была одна из попыток без app.py результат тот же самый
Олег
Короче, лучше оставь что-то одно
так ничего не меняется
Олег
репозиторий скопирован из гита, на других машинах все отлично работает
Tishka17
так ничего не меняется
а переменная с приложением в пакете есть?
Олег
окружение то же самое
Олег
да, я пробовал ее указать, тоже ничего не меняется