From f9e2fc9d7e87946bdb66b646d3ca95ab363408b1 Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Tue, 31 Mar 2015 15:53:13 +0200 Subject: [PATCH] Simplify SMSGatewayMixin.clean_numbers(), normalize numbers to the 00... international format, add comment about french specialization --- passerelle/sms/__init__.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/passerelle/sms/__init__.py b/passerelle/sms/__init__.py index 6197d14..4a293d9 100644 --- a/passerelle/sms/__init__.py +++ b/passerelle/sms/__init__.py @@ -1,25 +1,26 @@ import re from django.utils.translation import ugettext_lazy as _ class SMSGatewayMixin(object): category = _('SMS Providers') @classmethod - def clean_numbers(cls, destinations, default_country_code, prefix='+'): + def clean_numbers(cls, destinations, default_country_code): numbers = [] for dest in destinations: # most gateways needs the number prefixed by the country code, this is # really unfortunate. + dest = dest.strip() number = ''.join(re.findall('[0-9]', dest)) if dest.startswith('+'): - pass # it already is fully qualified + number = '00' + number elif number.startswith('00'): # assumes 00 is international access code, remove it - number = number[2:] + pass elif number.startswith('0'): - # local prefix, remove 0 and add default country code + # french local prefix, remove 0 and add default country code number = default_country_code + number[1:] - numbers.append(prefix + number) + numbers.append(number) return numbers -- 1.9.1