From f21049a9429bbc82ed7d5a6a53cb8c1c70e49321 Mon Sep 17 00:00:00 2001 From: Alexandre Fayolle Date: Wed, 25 Mar 2015 09:11:12 +0100 Subject: [PATCH] protect import of external dependencies Odoo won't install an addon if the external dependencies are not met. However, the python modules of the addons are imported at startup, and the lack of an external dependency for an external addon will cause a crash, therefore the import needs to be in a try..except block. --- __unported__/account_banking_fr_lcr/account_banking_lcr.py | 6 +++++- __unported__/account_banking_fr_lcr/wizard/export_lcr.py | 6 +++++- account_banking_pain_base/models/banking_export_pain.py | 7 ++++++- .../models/account_banking_sepa.py | 6 +++++- .../models/banking_export_sdd.py | 6 +++++- 5 files changed, 26 insertions(+), 5 deletions(-) diff --git a/__unported__/account_banking_fr_lcr/account_banking_lcr.py b/__unported__/account_banking_fr_lcr/account_banking_lcr.py index 7c4b3add8..be5e9001b 100644 --- a/__unported__/account_banking_fr_lcr/account_banking_lcr.py +++ b/__unported__/account_banking_fr_lcr/account_banking_lcr.py @@ -22,7 +22,11 @@ from openerp.osv import orm, fields from openerp.addons.decimal_precision import decimal_precision as dp -from unidecode import unidecode + +try: + from unidecode import unidecode +except ImportError: + unidecode = None class banking_export_lcr(orm.Model): diff --git a/__unported__/account_banking_fr_lcr/wizard/export_lcr.py b/__unported__/account_banking_fr_lcr/wizard/export_lcr.py index def19d3cf..2e149bb8c 100644 --- a/__unported__/account_banking_fr_lcr/wizard/export_lcr.py +++ b/__unported__/account_banking_fr_lcr/wizard/export_lcr.py @@ -25,9 +25,13 @@ from openerp.tools.translate import _ from openerp import netsvc from datetime import datetime from openerp.tools import DEFAULT_SERVER_DATE_FORMAT -from unidecode import unidecode import base64 +try: + from unidecode import unidecode +except ImportError: + unidecode = None + LCR_DATE_FORMAT = '%d%m%y' diff --git a/account_banking_pain_base/models/banking_export_pain.py b/account_banking_pain_base/models/banking_export_pain.py index 0a9e3713a..97ba21b8a 100644 --- a/account_banking_pain_base/models/banking_export_pain.py +++ b/account_banking_pain_base/models/banking_export_pain.py @@ -24,12 +24,17 @@ from openerp.osv import orm from openerp.tools.translate import _ from openerp.tools.safe_eval import safe_eval from datetime import datetime -from unidecode import unidecode from lxml import etree from openerp import tools import logging import base64 + +try: + from unidecode import unidecode +except ImportError: + unidecode = None + logger = logging.getLogger(__name__) diff --git a/account_banking_sepa_credit_transfer/models/account_banking_sepa.py b/account_banking_sepa_credit_transfer/models/account_banking_sepa.py index cace58820..f463a5050 100644 --- a/account_banking_sepa_credit_transfer/models/account_banking_sepa.py +++ b/account_banking_sepa_credit_transfer/models/account_banking_sepa.py @@ -22,7 +22,11 @@ from openerp import models, fields, api from openerp.addons.decimal_precision import decimal_precision as dp -from unidecode import unidecode + +try: + from unidecode import unidecode +except ImportError: + unidecode = None class BankingExportSepa(models.Model): diff --git a/account_banking_sepa_direct_debit/models/banking_export_sdd.py b/account_banking_sepa_direct_debit/models/banking_export_sdd.py index c80cebf6e..84ac0b5e7 100644 --- a/account_banking_sepa_direct_debit/models/banking_export_sdd.py +++ b/account_banking_sepa_direct_debit/models/banking_export_sdd.py @@ -22,7 +22,11 @@ from openerp import models, fields, api from openerp.addons.decimal_precision import decimal_precision as dp -from unidecode import unidecode + +try: + from unidecode import unidecode +except ImportError: + unidecode = None class BankingExportSdd(models.Model):