
Andjelx
09.04.2017
19:37:19
во внешнем файле определение класса
можно ли это определение импортировать?
в main.py

Igelko
09.04.2017
19:37:40

Google

Andjelx
09.04.2017
19:38:01
я смотрю смотрю но ничего не получается

Igelko
09.04.2017
19:38:34

Andjelx
09.04.2017
19:38:42
щас
class Table:
def __init__(self, name):
self.name = name
self.fields = []
а во внешнем файле feed = Table(name='diameter')

Igelko
09.04.2017
19:40:41
вытаскивай стол в третий файл и импорти где нужно. циклические импорты в общем случае - зло.

Andjelx
09.04.2017
19:41:05
почему циклические ?
у меня стол определен в main.py
в него же и подтянуть feed = Table(name='diameter') надо (

Igelko
09.04.2017
19:41:38
и ты его пытаешься импортить во внешнем файле
чтоб определение класса там появилось

Andjelx
09.04.2017
19:41:58
теперь я запутался
да там нет определения (

Google

Andjelx
09.04.2017
19:42:32
Блин - заказчик как то с эти работает - я пытаюсь понять как

Igelko
09.04.2017
19:42:34
а потом пытаешься импортить внешний файл в main, чтоб у тебя завелся feed

Andjelx
09.04.2017
19:43:31
да я тебя понимаю прекрасно
но как же они (?

Igelko
09.04.2017
19:44:54
не, можно конечно сделать так:
def fun():
from main import Table
... здесь вся работа
но имхо за это в аду дают отдельный котел

Andjelx
09.04.2017
19:45:35
погоди это как? внутри майна сделать импорт ?
самого себя чтоль ?

Igelko
09.04.2017
19:45:58
внутри функции в стороннем модуле сделать импорт

Aragaer
09.04.2017
19:45:59
я не понял, что такое описание класса, а что такое определение класса

Igelko
09.04.2017
19:46:08
только потом вызвать надо

Andjelx
09.04.2017
19:46:25
Ааа жесть однако
и далось им такой подход

Igelko
09.04.2017
19:46:41

Dmitry
09.04.2017
19:46:43
во, поперло

Igelko
09.04.2017
19:46:48
похоже

Aragaer
09.04.2017
19:46:49
а
ну и?
from файл,где_описан_класс import Table
feed = Table()

Igelko
09.04.2017
19:47:37

Aragaer
09.04.2017
19:47:57
что значит главный модуль?

Google

Igelko
09.04.2017
19:48:26
я так понимаю точка входа, откуда все запускается

Andjelx
09.04.2017
19:48:44
да

Aragaer
09.04.2017
19:48:44
можно ... эм, минимальный пример кода, чтобы получить представление, в чем проблема?

Andjelx
09.04.2017
19:48:49
щас
main.py class Table:
def __init__(self, name):
self.name = name
self.fields = []
file.py
feed = Table(name='diameter')

Aragaer
09.04.2017
19:49:40
так
а проблема в чем?

Andjelx
09.04.2017
19:49:59
надо чтобы в main.py - появился feed

Aragaer
09.04.2017
19:50:29
мм

Andjelx
09.04.2017
19:50:35
я делаю через exec(open('file.py').read())

Aragaer
09.04.2017
19:50:36
нафига?

Andjelx
09.04.2017
19:50:42
неправильно потому что )

Aragaer
09.04.2017
19:50:57
то есть нафига тогда его совать в file.py, если он описан в main.py?

Andjelx
09.04.2017
19:51:20
Вот этого я не добился от заказчика )

Aragaer
09.04.2017
19:51:23
или же перенести Table в table.py
и тогда проблема решится сама собой
то есть вопрос такой - зачем продолжать жрать кактус, если можно перестать этим заниматься?

Andjelx
09.04.2017
19:51:55
описание классов во внешний файл и импортнуть ?

Google

Aragaer
09.04.2017
19:52:22
раскидать классы по модулям, импортить эти модули

Andjelx
09.04.2017
19:53:37

Aragaer
09.04.2017
19:53:50
класс Table перенести в файл table.py

Andjelx
09.04.2017
19:54:00
да это понял

Igelko
09.04.2017
19:54:04

Aragaer
09.04.2017
19:54:07
в тех файлах, где нужен класс Table, сделать from table import Table

Andjelx
09.04.2017
19:54:14
хахааххахаха
вот и я про то же
но нельзя у них так

Admin
ERROR: S client not available

Andjelx
09.04.2017
19:54:33
и я пытаюсь сообразить - и как же оно так работает
без import

Aragaer
09.04.2017
19:54:42
почему нельзя?
потому что "мы считаем, что это некошерно"?

Andjelx
09.04.2017
19:55:27
Потому что работает без этого все остальное :) хз чо у них там с компартибилити

Aragaer
09.04.2017
19:55:47
или "мы уже не помним, но три года назад мы пробовали что-то у нас не завелось"?

Andjelx
09.04.2017
19:55:53
иногда бывает такая штука на фрилансе - вот с умными мужами хотел посоветоваться

Igelko
09.04.2017
19:56:58
я где-то еще в недрах openerp видел магию с подсовыванием в модули значений переменных

Eldar
09.04.2017
19:57:03

Aragaer
09.04.2017
19:58:50
на самом деле аргумент вида "ой, я уже не помню, почему мы сделали вот так через задницу, но просто пару лет назад у нас что-то не работало, мы нашли вот такой способ и он нас в итоге устроил, потому что не было времени разбираться, а так работает" - у меня на работе возникает с завидной регулярностью

Google

Andjelx
09.04.2017
19:59:27
Клевый!
и желательно никаких комментов в коде
Like a pro

Aragaer
09.04.2017
19:59:59
приходится показывать им, что если снести все эти костыли нафиг, заюзать ровно одну стандартную фичу, то поведение будет ровно такое же, как они хотели
... зато потом можно с гордым видом сваливать домой - пришел к обеду, всех спас, можно уходить забирать ребенка из сада

Максим
09.04.2017
20:05:04
подскажите как решить эту проблему?@bot.message_handler(commands=["start"])
def start(message):
bot.send_chat_action(message.from_user.id)
bot.send_location(message.from_user.id, 55.727633, 49.174677)
bot.polling()
TypeError: send_chat_action() missing 1 required positional argument: 'action'
выдает эту ошыбку
ШЫЫ))

Aragaer
09.04.2017
20:06:54
ну так
"требуется еще один аргумент" же

Максим
09.04.2017
20:07:33
какой?

Eldar
09.04.2017
20:07:44

Максим
09.04.2017
20:08:00
=)
а как написать то его)
и куда

Sergei
09.04.2017
20:08:21
https://github.com/python-telegram-bot/python-telegram-bot/wiki/Code-snippets#send-a-chat-action

Nikolay
09.04.2017
20:08:24
в send_chat_action()

Aragaer
09.04.2017
20:08:59
первым аргументом надо chat_id, вторым action
первый аргумент ты передал, а второй нет

Максим
09.04.2017
20:12:10
bot.send_chat_action(message.from_user.id, action=)