В одном из модулей для Odoo была необходимость доставать данные таблицы из PDF документа. Среди множества python библиотек по разбору текста из PDF мне понравилась tabula-py. На ее примере мы посмотрим, как правильно работать с внешними зависимостями в Odoo.
external_dependencies
В нашем модуле мы должны указать внешние зависимости в манифесте:
"external_dependencies": { 'python': ['tabula'] },Эти зависимости не будут установлены. Odoo проверит есть ли соответствующие Python пакеты. Если какой-то отсутствует — нас ждет предуприждение:
Мы можем использовать ключ bin, чтобы указать банарные зависимости.
При импорте внешних зависимостей в коде, рекомендуется использовать try — except:
try: import vatnumber except ImportError: _logger.warning("VAT validation partially unavailable because the `vatnumber` Python library cannot be found. " "Install it to support more countries, for example with `easy_install vatnumber`.") vatnumber = None