Мы недавно обновили используемую нами версию Jedi с 0.13.2 до 0.14.0.
Ранее мы могли проверить, был ли элемент в Script.completions
@property
, пытаясь получить доступ к его атрибуту param
. Если завершение было свойством (или обычной переменной-атрибутом), то это подняло бы AttributeError
.
Однако в версии 0.14.0 AttributeError
для свойств не вызывается.
Я обошел эту проблему, проверив источник , как предлагается здесь в качестве обходного пути для аналогичной проблемы :
if (completion.type == "function" and
"@property" in completion.get_line_code(1)):
Но это не похоже на очень чистое решение.
Есть ли лучший способ проверить, является ли завершение свойством в версии 0.14.0?