From 2e2d8778bfa8f898ee1044ea98fba134f75e1b60 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. Conflicts: account_banking_sepa_credit_transfer/models/account_banking_sepa.py account_banking_sepa_direct_debit/models/banking_export_sdd.py --- account_banking_fr_lcr/account_banking_lcr.py | 6 +++++- account_banking_fr_lcr/wizard/export_lcr.py | 6 +++++- account_banking_pain_base/banking_export_pain.py | 7 ++++++- .../account_banking_sepa.py | 6 +++++- account_banking_sepa_direct_debit/account_banking_sdd.py | 6 +++++- 5 files changed, 26 insertions(+), 5 deletions(-) diff --git a/account_banking_fr_lcr/account_banking_lcr.py b/account_banking_fr_lcr/account_banking_lcr.py index 7bfa99ed5..9af79507a 100644 --- a/account_banking_fr_lcr/account_banking_lcr.py +++ b/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/account_banking_fr_lcr/wizard/export_lcr.py b/account_banking_fr_lcr/wizard/export_lcr.py index 39e8cb4fd..698ee2a02 100644 --- a/account_banking_fr_lcr/wizard/export_lcr.py +++ b/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/banking_export_pain.py b/account_banking_pain_base/banking_export_pain.py index 1e7df9cee..f2d0b7c1e 100644 --- a/account_banking_pain_base/banking_export_pain.py +++ b/account_banking_pain_base/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/account_banking_sepa.py b/account_banking_sepa_credit_transfer/account_banking_sepa.py index f6a059bcc..3d3b11a4d 100644 --- a/account_banking_sepa_credit_transfer/account_banking_sepa.py +++ b/account_banking_sepa_credit_transfer/account_banking_sepa.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_sepa(orm.Model): diff --git a/account_banking_sepa_direct_debit/account_banking_sdd.py b/account_banking_sepa_direct_debit/account_banking_sdd.py index afeb43b8c..998201b6a 100644 --- a/account_banking_sepa_direct_debit/account_banking_sdd.py +++ b/account_banking_sepa_direct_debit/account_banking_sdd.py @@ -23,11 +23,15 @@ from openerp.osv import orm, fields from openerp.tools.translate import _ from openerp.addons.decimal_precision import decimal_precision as dp -from unidecode import unidecode from datetime import datetime from dateutil.relativedelta import relativedelta import logging +try: + from unidecode import unidecode +except ImportError: + unidecode = None + NUMBER_OF_UNUSED_MONTHS_BEFORE_EXPIRY = 36 logger = logging.getLogger(__name__)