[Erp5-report] r22666 - in /erp5/trunk/products/ERP5: Document/ tests/

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Jul 25 17:39:25 CEST 2008


Author: rafael
Date: Fri Jul 25 17:39:25 2008
New Revision: 22666

URL: http://svn.erp5.org?rev=22666&view=rev
Log:
Fix for remain previous country and area.
Added more supported Telephone types.
Improve and added more tests.


Modified:
    erp5/trunk/products/ERP5/Document/Telephone.py
    erp5/trunk/products/ERP5/tests/testERP5Base.py

Modified: erp5/trunk/products/ERP5/Document/Telephone.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/Telephone.py?rev=22666&r1=22665&r2=22666&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/Telephone.py (original)
+++ erp5/trunk/products/ERP5/Document/Telephone.py Fri Jul 25 17:39:25 2008
@@ -72,64 +72,67 @@
   # be carefull to add a new regex.
   regex_list = [
     # Country, Area, Number, Extension*
-    # +33(0)2-27224896/999 or +33(0)2-27224896/ or +33(0)2-27224896
-    "\+(?P<country>\d+)\(0\)(?P<area>\d+)\-(?P<number>[\d\ ]*)(?:\/)?(?P<ext>\d+|)",
+    # +11(0)1-11111111/111      or +11(0)1-11111111/      or +11(0)1-11111111
+    # + 11 (0)1-11 11 01 01/111 or + 11 (0)1-11 11 01 01/ or + 11 (0)1-11 11 01 01
+    # +11 (0)11 1011 1100/111   or +11 (0)11 1011 1100/   or +11 (0)11 1011 1100
+    "\+(?P<country>[\d\ ]*)\(0\)(?P<area>\d+)(\-|\ )(?P<number>[\d\ ]*)(?:\/)?(?P<ext>\d+|)",
 
     # Country, Area, Number, Extension*
-    # +81-2-27224896/999 or +81-2-27224896/ or +81-2-27224896
+    # +11-1-11111111/111 or +11-1-11111111/ or +11-1-11111111
     "\+(?P<country>\d+)-(?P<area>\d+)-(?P<number>[\d\ \-]*)(?:\/)?(?P<ext>\d+|)",
 
     # Missing area
-    # +33(0)-27224896/999" or +33(0)-27224896/ or +33(0)-27224896
+    # +11(0)-11111111/111" or +11(0)-11111111/ or +11(0)-11111111
     "\+(?P<country>\d+)\(0\)\-(?P<number>[\d\ ]*)(?:\/)?(?P<ext>\d+|)",
 
     # Country, Area, Number, Extension*
-    # +55(2)27224896/999 or +55(2)27224896/ or +55(2)27224896
+    # +11(1)11111111/111 or +11(1)11111111/ or +11(1)11111111
     "\+(?P<country>\d+)\((?P<area>\d+)\)(?P<number>[\d\ ]*)(?:\/)?(?P<ext>\d+|)",
 
     # Country, Area, Number, Extension*
-    # +221-2-27224896/999 or +221-2-27224896/ or +221-2-27224896
+    # +111-1-11111111/111 or +111-1-11111111/ or +111-1-11111111
     "\+(?P<country>\d+)-(?P<area>\d+)-(?P<number>[\d\ \-]*)(?:\/)?(?P<ext>\d+|)",
 
     # Missing country
-    # +(0)2-27224896/999" or +(0)2-27224896/ or +(0)2-27224896
+    # +(0)1-11111111/111" or +(0)1-11111111/ or +(0)1-11111111
     "\+\(0\)(?P<area>\d+)\-(?P<number>[\d\ ]*)(?:\/)?(?P<ext>\d+|)",
 
     # Missing Country and Area 
-    # +(0)-27224896/999" or +(0)-27224896/ or +(0)-27224896
+    # +(0)-11111111/111" or +(0)-11111111/ or +(0)-11111111
     "\+\(0\)\-(?P<number>[\d\ ]*)(?:\/)?(?P<ext>\d+|)",
 
     # Area, Number Extension*
     # Area between parenthesis.
-    # (22)27224897/333 or (22)27224897/ or (22)27224897
+    # (11)11111111/111 or (11)11111111/ or (11)11111111
     "\((?P<area>\d+)\)(?P<number>[\d\ \-]*)(?:\/)?(?P<ext>\d+|)",
 
     # Missing country
-    # +(2)27224896/999" or +(2)27224896/ or +(2)27224896
+    # +(1)11111111/111" or +(1)11111111/ or +(1)11111111
     "\+\((?P<area>\d+)\)(?P<number>[\d\ \-]*)(?:\/)?(?P<ext>\d+|)",
 
     # Country, Area, Number and Extension*
     # Country space area space number slash extension or not
-    # +33 2 098765432/1 or +33 2 098765432/ or +33 2 098765432
-    "\+(?P<country>\d+)\ (?P<area>\d+)\ (?P<number>[\d\ ]*)(?:\/)?(?P<ext>\d+|)",
+    # +11 1 011111111/1    or +11 1 011111111/  or +11 1 011111111
+    # + 111 1 1101 101/111 or + 111 1 1101 101/ or + 111 1 1101 101/111
+    "\+(?P<space>[\ ]*)(?P<country>\d+)\ (?P<area>\d+)\ (?P<number>[\d\ ]*)(?:\/)?(?P<ext>\d+|)",
 
     # This regex is to handle two inputs very similar
     # but with different behavior
-    # 631 22 43/999 or 631 22 43 or 631 22 43 
-    # will result in {'area':'', 'number':'631 22 43', 'ext':'999 or empty'}
+    # 111 11 11/111 or 111 11 11 or 111 11 11 
+    # will result in {'area':'', 'number':'111 11 11', 'ext':'111 or empty'}
     #
-    # 631-22 43/999 or 631-22 43 or 631-22 43 
-    # will result in {'area':'631', 'number':'22 43', 'ext':'999 or empty'} 
+    # 111-11 11/111 or 111-11 11 or 111-11 11 
+    # will result in {'area':'111', 'number':'11 11', 'ext':'111 or empty'} 
     "^(?:0)?((?P<area>\d+)-)?(?P<number>[\d\-\ ]*)(?:\/)?(?P<ext>\d+|)$",
 
     # Area, Number, Extension*
     # It is a common input in France 
     # and in Japan but with different behavior.
-    # 047-336-5411/999 or 047-336-5411/ or 047-336-5411
-    # will result in {'area':'47', 'number':'336-5411', \
-    #                  'ext':'999 or empty'} <= France
-    # will result in {'area':'047', 'number':'336-5411', 
-    #                  'ext':'999 or empty'} <= Japan
+    # 011-111-1111/111 or 011-111-1111/ or 011-111-1111
+    # will result in {'area':'11', 'number':'111-1111', \
+    #                  'ext':'111 or empty'} <= France
+    # will result in {'area':'011', 'number':'111-1111', 
+    #                  'ext':'111 or empty'} <= Japan
     # so we have here two regex:
     # To France: "^0(?P<area>\d+)-(?P<number>[\d\-\ ]*)(?:\/)?(?P<ext>\d+|)$",
     # To Japan: "^(?P<area>\d+)-(?P<number>[\d\-\ ]*)(?:\/)?(?P<ext>\d+|)$",
@@ -137,11 +140,11 @@
 
     # Area, Number, Extension*
     # It is a common input in France and in Japan but with different behavior.
-    # 047(336)5411/999 or 047(336)5411/ or 047(336)5411
-    # will result in {'area':'47', 'number':'336)5411', 
-    #                  'ext':'999 or empty'} <= France
-    # will result in {'area':'047', 'number':'336)5411', 
-    #                  'ext':'999 or empty'} <= Japan
+    # 011(111)1111/111 or 011(111)1111/ or 011(111)1111
+    # will result in {'area':'11', 'number':'111)1111', 
+    #                  'ext':'111 or empty'} <= France
+    # will result in {'area':'011', 'number':'111)1111', 
+    #                  'ext':'111 or empty'} <= Japan
     # so we have here two regex:
     #To France: 
     # "^0(?P<area>\d+)\((?P<number>[\d\)\(\ \-]*)(?:\/)?(?P<ext>\d+|)$",
@@ -150,8 +153,75 @@
     "^0(?P<area>\d+)\((?P<number>[\d\)\(\ \-]*)(?:\/)?(?P<ext>\d+|)$",
 
     # Missing area
-    # +55()27224896/999" or +55()27224896/ or +55()27224896
-    "\+(?P<country>\d+)\(\)(?P<number>[\d\ \-]*)(?:\/)?(?P<ext>\d+|)"
+    # +11()11111111/111" or +11()11111111/ or +11()11111111
+    "\+(?P<country>\d+)\(\)(?P<number>[\d\ \-]*)(?:\/)?(?P<ext>\d+|)",
+
+    # Country, area, number, extension*
+    # Space between country and (0).
+    # Space between (0) and area.
+    # Space between area and number.
+    # +111 (0) 1 111 11011/111 or +111 (0) 1 111 11011/ or +111 (0) 1 111 11011
+    "\+(?P<country>\d+)\ \(0\)\ (?P<area>\d+)\ (?P<number>[\d\ \-]*)(?:\/)?(?P<ext>\d+|)",
+
+    # Country and number
+    # (0) between country and number
+    # +111 (0) 111111101-01/111 or +111 (0) 111111101-01/ or +111 (0) 111111101-01
+    "\+(?P<country>\d+)\ \(0\)\ (?P<number>[\d\ \-]*)(?:\/)?(?P<ext>\d+|)",
+
+    # Country, area, number and extension*
+    # +11 (11) 1111 1111/111 or +11 (11) 1111 1111/ or +11 (11) 1111 1111
+    # +11 (11)-10111111/111  or +11 (11)-10111111/  or +11 (11)-10111111
+    # +11(11)-10111111/111   or +11(11)-10111111/   or +11(11)-10111111
+    # 1 (111) 1101-101/111   or 1 (111) 1101-101/   or 1 (111) 1101-101/
+    "(\+|)(?P<country>\d+)\ \((?P<area>\d+)\)(\ |\-|)(?P<number>[\d\ \-]*)(?:\/)?(?P<ext>\d+|)",
+
+    # +110 1111111/111 or +110 1111111/ or +110 1111111
+    "\+(?P<country>\d+)\ (?P<number>[\d\ \-]*)(?:\/)?(?P<ext>\d+|)",
+
+    # Missing country
+    # 111/111-1111/111 or 111/111-1111/ or 111/111-1111
+    "(?P<area>\d+)\/(?P<number>[\d\ \-]*)(?:\/)?(?P<ext>\d+|)",
+    
+    # Country, area, number, extension*
+    # Hyphen between country and area.
+    # +11-1 11 11 01 11/111 or +11-1 11 11 01 11/ or +11-1 11 11 01 11
+    "\+(?P<country>\d+)\-(?P<area>\d+)\ (?P<number>[\d\ \-]*)(?:\/)?(?P<ext>\d+|)",
+
+    # Missing area
+    # +111-1101110/111 or +111-1101110/ or +111-1101110
+    "\+(?P<country>\d+)\-(?P<number>[\d\ \-]*)(?:\/)?(?P<ext>\d+|)",
+
+    # Missing country
+    # Dot between area number and telephone number.
+    # 111.111.1111/111 or 111.111.1111/ or 111.111.1111
+    "(?P<area>\d+)\.(?P<number>[\d\ \-\.]*)(?:\/)?(?P<ext>\d+|)",
+
+    # Country, area, number and extensioin*
+    # (111 11) 111111/111     or (111 11) 111111/    or (111 11) 111111
+    # (111 11) 111-11-11/111  or (111 11) 111-11-11/ or (111 11) 111-11-11
+    # (111 11)101011/111      or (111 11)101011/     or (111 11)101011
+    # +(111 11) 100-11-11/111 or +(111 11) 100-11-11 or +(111 11) 100-11-11
+    "(\+|)\((?P<country>\d+)\ (?P<area>\d+)\)(\ |)(?P<number>[\d\ \-]*)(?:\/)?(?P<ext>\d+|)",
+
+    # Country and number
+    # (+111)101111111/111  or (+111)101111111/  or (+111)101111111
+    # (+111) 101111111/111 or (+111) 101111111/ or (+111) 101111111
+    "\(\+(?P<country>\d+)\)(\ |)(?P<number>[\d\ \-]*)(?:\/)?(?P<ext>\d+|)",
+
+    # Country, area, number and extension*
+    # (+11-111) 1111111/111 or (+11-111) 1111111/ or (+11-111) 1111111
+    # (11-11) 111-1111/111  or (11-11) 111-1111/  or (11-11) 111-1111
+    # (11-1) 1.111.111/111  or (11-1) 1.111.111/  or (11-1) 1.111.111
+    "\((\+|)(?P<country>\d+)\-(?P<area>\d+)\)(\ |\-|)(?P<number>[\d\ \-\.]*)(?:\/)?(?P<ext>\d+|)",
+
+    # Country, area, number and extersion*
+    # + 111-11-1110111/111 or + 111-11-1110111/ or + 111-11-1110111
+    # +111-11-1110111/111  or +111-11-1110111/  or +111-11-1110111
+    # +111/1/1111 1100/111 or +111/1/1111 1100/ or +111/1/1111 1100
+    "\+(?P<spaces>[\ ]*)(?P<country>\d+)(\-|\/)(?P<area>\d+)(\-|\/)(?P<number>[\d\ \-\.]*)(?:\/)?(?P<ext>\d+|)",
+
+    # + (111) 111-111/111 or + (111) 111-111/  or + (111) 111-111
+    "\+(?P<spaces>[\ ]*)\((?P<country>\d+)\)\ (?P<number>[\d\ \-\.]*)(?:\/)?(?P<ext>\d+|)"
   ]
   
   security.declareProtected(Permissions.ModifyPortalContent, 'fromText')
@@ -164,6 +234,9 @@
     if coordinate_text is None:
       coordinate_text = ''
 
+    # Removing the spaces of the begin and end.
+    coordinate_text = coordinate_text.strip()
+    
     # This regexp get the coordinate text 
     # and extract number and letters
     input_regex_without_markup = '[0-9A-Za-z]'
@@ -176,15 +249,14 @@
         possible_number_match = re.match(regex, coordinate_text)
         if possible_number_match not in [None]:
           number_match = possible_number_match
+          number_dict = number_match.groupdict()
           break
       if number_match == None:
         from zLOG import LOG, WARNING
         msg = "Doesn't exist a regex to handle this telephone: ", \
                                                                coordinate_text
         LOG('Telephone.fromText', WARNING, msg) 
-        self.edit(telephone_number = input_without_markup)
-        return
-      number_dict = number_match.groupdict()
+        number_dict = {'number' : input_without_markup}
     else:
       number_dict = {'number' : coordinate_text}
 
@@ -199,7 +271,7 @@
         (extension in ['', None])):
       country = area = number = extension = ''
     else:
-      # The country and area is trying to get from dict, 
+      # Trying to get the country and area from dict, 
       # but if it fails must be get from preference
       preference_tool = self.portal_preferences
       if country in ['', None]:
@@ -213,8 +285,9 @@
       extension = extension.strip()
 
       # Formating the number.
-      # Removing any ")", "(", "-" and " "
-      for token in [")", "(", "-" ," "]:
+      # Removing any ")", "(", "-", "." and " "
+      for token in [")", "(", "-" ,"." ," "]:
+        country = country.replace(token, '')
         number = number.replace(token, '')
 
     self.edit(telephone_country = country,

Modified: erp5/trunk/products/ERP5/tests/testERP5Base.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testERP5Base.py?rev=22666&r1=22665&r2=22666&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testERP5Base.py (original)
+++ erp5/trunk/products/ERP5/tests/testERP5Base.py Fri Jul 25 17:39:25 2008
@@ -883,107 +883,199 @@
     tel.setTelephoneExtension(999)
     self.assertEquals('+33(0)2-12345678/999', tel.asText())
 
-  def test_TelephoneInputList(self):
+  def test_TelephonePreference(self):
     pers = self.getPersonModule().newContent(portal_type='Person')
     tel = pers.newContent(portal_type='Telephone')
     pref = self.portal_preferences.default_site_preference
     pref.setPreferredTelephoneDefaultCountryNumber('33')
     pref.setPreferredTelephoneDefaultAreaNumber('2')
     pref.enable()
+    tel.fromText(coordinate_text='11111111')
+    self.assertEquals('+33(0)2-11111111',tel.asText())
+
+  def test_TelephoneCountryAndAreaCodeRemains(self):
+    pers = self.getPersonModule().newContent(portal_type='Person')
+    tel = pers.newContent(portal_type='Telephone')
+    pref = self.portal_preferences.default_site_preference
+    pref.setPreferredTelephoneDefaultCountryNumber('')
+    pref.setPreferredTelephoneDefaultAreaNumber('')
+    pref.enable()
+    tel.fromText(coordinate_text='+11 1 11111111')
+    tel.fromText(coordinate_text='+22333445555')
+    self.assertEquals('+(0)-22333445555',tel.asText())
+
+  def test_TelephoneInputList(self):
+    pers = self.getPersonModule().newContent(portal_type='Person')
+    tel = pers.newContent(portal_type='Telephone')
     input_list = [
-      ["+33(0)2-27224896/999","+33(0)2-27224896/999"],
-      ["+33(0)2-27224896/","+33(0)2-27224896"],
-      ["+33(0)2-27224896","+33(0)2-27224896"],
-
-      ["+33(0)-5744896/999","+33(0)2-5744896/999"],
-      ["+33(0)-5744896/","+33(0)2-5744896"],
-      ["+33(0)-5744896","+33(0)2-5744896"],
-    
-      ["+(0)2-27224896/999","+33(0)2-27224896/999"],
-      ["+(0)2-27224896/","+33(0)2-27224896"],
-      ["+(0)2-27224896","+33(0)2-27224896"],
-    
-      ["+(0)-27224896/999","+33(0)2-27224896/999"],
-      ["+(0)-27224896/","+33(0)2-27224896"],
-      ["+(0)-27224896","+33(0)2-27224896"],
-    
-      ["+33(629)024425/222","+33(0)629-024425/222"],
-      ["+33(629)024425/","+33(0)629-024425"],
-      ["+33(629)024425","+33(0)629-024425"],
-    
-      ["(22)27224897/333","+33(0)22-27224897/333"],
-      ["(22)27224897/","+33(0)22-27224897"],
-      ["(22)27224897","+33(0)22-27224897"],
-    
-      ["(22)-12345678/222","+33(0)22-12345678/222"],
-      ["(22)-12345678/","+33(0)22-12345678"],
-      ["(22)-12345678","+33(0)22-12345678"],
-    
-      ["+33 2 098765432/1","+33(0)2-098765432/1"],
-      ["+33 2 098765432/","+33(0)2-098765432"],
-      ["+33 2 098765432","+33(0)2-098765432"],
-    
-      ["+33 662 1241 1233/999","+33(0)662-12411233/999"],
-      ["+33 662 1241 1233/","+33(0)662-12411233"],
-      ["+33 662 1241 1233","+33(0)662-12411233"],
-    
-      ["6-62 05 76 14/999","+33(0)6-62057614/999"],
-      ["6-62 05 76 14/","+33(0)6-62057614"],
-      ["6-62 05 76 14","+33(0)6-62057614"],
-      
-      ["62 05 76 14/999","+33(0)2-62057614/999"],
-      ["62 05 76 14/","+33(0)2-62057614"],
-      ["62 05 76 14","+33(0)2-62057614"],
-    
-      ["631 22 43/999","+33(0)2-6312243/999"],
-      ["631 22 43/","+33(0)2-6312243"],
-      ["631 22 43","+33(0)2-6312243"],
-    
-      ["631-22 43/999","+33(0)631-2243/999"],
-      ["631-22 43/","+33(0)631-2243"],
-      ["631-22 43","+33(0)631-2243"],
-    
-      ["8291212/33","+33(0)2-8291212/33"],
-      
-      ["047-336-5411/999","+33(0)47-3365411/999"],
-      ["047-336-5411/","+33(0)47-3365411"],
-      ["047-336-5411","+33(0)47-3365411"],
-      
-      ["047(336)5411/999","+33(0)47-3365411/999"],
-      ["047(336)5411/","+33(0)47-3365411"],
-      ["047(336)5411","+33(0)47-3365411"],
-    
-      ["+33 662 1244 4112/999","+33(0)662-12444112/999"],
-      ["+33 662 1244 4112/","+33(0)662-12444112"],
-      ["+33 662 1244 4112","+33(0)662-12444112"],
-
-      ["+55(2)27224896/999","+55(0)2-27224896/999"],
-      ["+55(2)27224896/","+55(0)2-27224896"],
-      ["+55(2)27224896","+55(0)2-27224896"],
-
-      ["+55()27224896/999","+55(0)2-27224896/999"],
-      ["+55()27224896/","+55(0)2-27224896"],
-      ["+55()27224896","+55(0)2-27224896"],
- 
-      ["+55()-27224896/999","+55(0)2-27224896/999"],
-      ["+55()-27224896/","+55(0)2-27224896"],
-      ["+55()-27224896","+55(0)2-27224896"],
-    
-      ["+55(629)024425/222","+55(0)629-024425/222"],
-      ["+55(629)024425/","+55(0)629-024425"],
-      ["+55(629)024425","+55(0)629-024425"],
-    
-      ["+55 2 098765432/1","+55(0)2-098765432/1"],
-      ["+55 2 098765432/","+55(0)2-098765432"],
-      ["+55 2 098765432","+55(0)2-098765432"],
-    
-      ["+55 662 1241 1233/999","+55(0)662-12411233/999"],
-      ["+55 662 1241 1233/","+55(0)662-12411233"],
-      ["+55 662 1241 1233","+55(0)662-12411233"],
-    
-      ["+55-047-12345678/990","+55(0)047-12345678/990"],
-      ["+55-047-12345678/","+55(0)047-12345678"],
-      ["+55-047-12345678","+55(0)047-12345678"]
+      ['+11(0)1-11111111/111', '+11(0)1-11111111/111'],
+      ['+11(0)1-11111111/', '+11(0)1-11111111'],
+      ['+11(0)1-11111111', '+11(0)1-11111111'],
+      ['+11(0)-1111111/111', '+11(0)-1111111/111'],
+      ['+11(0)-1111111/', '+11(0)-1111111'],
+      ['+11(0)-1111111', '+11(0)-1111111'],
+      ['+11 111 1111 1111/111', '+11(0)111-11111111/111'],
+      ['+11(1)11111111/', '+11(0)1-11111111'],
+      ['+11(1)11111111', '+11(0)1-11111111'],
+      ['+11()11111111/111', '+11(0)-11111111/111'],
+      ['+11()11111111/', '+11(0)-11111111'],
+      ['+11()11111111', '+11(0)-11111111'],
+      ['+11()-11111111/111', '+11(0)-11111111/111'],
+      ['+11()-11111111/', '+11(0)-11111111'],
+      ['+11()-11111111', '+11(0)-11111111'],
+      ['+11(111)011111/', '+11(0)111-011111'],
+      ['+11-011-11111111/111', '+11(0)011-11111111/111'],
+      ['+11-011-11111111/', '+11(0)011-11111111'],
+      ['+11-011-11111111', '+11(0)011-11111111'],
+      ['+110 1111111/111', '+110(0)-1111111/111'],
+      ['+110 1111111/', '+110(0)-1111111'],
+      ['+110 1111111', '+110(0)-1111111'],
+      ['+111 11111111/111', '+111(0)-11111111/111'],
+      ['+111 11111111/', '+111(0)-11111111'],
+      ['+111 11111111', '+111(0)-11111111'],
+      ['+(0)1-11111111/111', '+(0)1-11111111/111'],
+      ['+(0)1-11111111/', '+(0)1-11111111'],
+      ['+(0)1-11111111', '+(0)1-11111111'],
+      ['+(0)-11111111/111', '+(0)-11111111/111'],
+      ['+(0)-11111111/', '+(0)-11111111'],
+      ['+(0)-11111111', '+(0)-11111111'],
+      ['+11(111)011111/111', '+11(0)111-011111/111'],
+      ['+11(111)011111', '+11(0)111-011111'],
+      ['(11)11111111/', '+(0)11-11111111'],
+      ['(11)11111111', '+(0)11-11111111'],
+      ['(11)-11111111/111', '+(0)11-11111111/111'],
+      ['(11)-11111111/', '+(0)11-11111111'],
+      ['(11)-11111111', '+(0)11-11111111'],
+      ['+11 1 011111111/1', '+11(0)1-011111111/1'],
+      ['+11 1 011111111', '+11(0)1-011111111'],
+      ['+11 111 1111 1111/', '+11(0)111-11111111'],
+      ['1-11 01 11 11/111', '+(0)1-11011111/111'],
+      ['1-11 01 11 11/', '+(0)1-11011111'],
+      ['1-11 01 11 11', '+(0)1-11011111'],
+      ['11 01 11 11/111', '+(0)-11011111/111'],
+      ['11 01 11 11/', '+(0)-11011111'],
+      ['11 01 11 11', '+(0)-11011111'],
+      ['111 11 11/111', '+(0)-1111111/111'],
+      ['111 11 11/', '+(0)-1111111'],
+      ['111 11 11', '+(0)-1111111'],
+      ['111-11 11/111', '+(0)111-1111/111'],
+      ['111-11 11/', '+(0)111-1111'],
+      ['111-11 11', '+(0)111-1111'],
+      ['1111111/11', '+(0)-1111111/11'],
+      ['011-111-1111/111', '+(0)11-1111111/111'],
+      ['011-111-1111/', '+(0)11-1111111'],
+      ['011-111-1111', '+(0)11-1111111'],
+      ['011(111)1111/111', '+(0)11-1111111/111'],
+      ['011(111)1111/', '+(0)11-1111111'],
+      ['011(111)1111', '+(0)11-1111111'],
+      ['111/111-1111/111', '+(0)111-1111111/111'],
+      ['111/111-1111/', '+(0)111-1111111'],
+      ['111/111-1111', '+(0)111-1111111'],
+      ['+11 111111111/111', '+11(0)-111111111/111'],
+      ['+11 111111111/', '+11(0)-111111111'],
+      ['+11 111111111', '+11(0)-111111111'],
+      ['+111-1101110/111', '+111(0)-1101110/111'],
+      ['+111-1101110/', '+111(0)-1101110'],
+      ['+111-1101110', '+111(0)-1101110'],
+      ['110-111111/111', '+(0)110-111111/111'],
+      ['110-111111/', '+(0)110-111111'],
+      ['110-111111', '+(0)110-111111'],
+      ['111.111.1111/111', '+(0)111-1111111/111'],
+      ['111.111.1111/', '+(0)111-1111111'],
+      ['111.111.1111', '+(0)111-1111111'],
+      ['+ 11 (0)1-11 11 01 01/111', '+11(0)1-11110101/111'],
+      ['+ 11 (0)1-11 11 01 01/', '+11(0)1-11110101'],
+      ['+ 11 (0)1-11 11 01 01', '+11(0)1-11110101'],
+      ['+11-1 11 11 01 11/111', '+11(0)1-11110111/111'],
+      ['+11-1 11 11 01 11/', '+11(0)1-11110111'],
+      ['+11-1 11 11 01 11', '+11(0)1-11110111'],
+      ['+111 (0) 1 111 11011/111', '+111(0)1-11111011/111'],
+      ['+111 (0) 1 111 11011/', '+111(0)1-11111011'],
+      ['+111 (0) 1 111 11011', '+111(0)1-11111011'],
+      ['+111 (0) 111111101-01/111', '+111(0)-11111110101/111'],
+      ['+111 (0) 111111101-01/', '+111(0)-11111110101'],
+      ['+111 (0) 111111101-01', '+111(0)-11111110101'],
+      ['+111 111111/111', '+111(0)-111111/111'],
+      ['+111 111111/', '+111(0)-111111'],
+      ['+111 111111', '+111(0)-111111'],
+      ['+111 101011111/111', '+111(0)-101011111/111'],
+      ['+111 101011111/', '+111(0)-101011111'],
+      ['+111 101011111', '+111(0)-101011111'],
+      ['+11 (0)11 1011 1100/111', '+11(0)11-10111100/111'],
+      ['+11 (0)11 1011 1100/', '+11(0)11-10111100'],
+      ['+11 (0)11 1011 1100', '+11(0)11-10111100'],
+      ['+11 (0)10 1101 1111/111', '+11(0)10-11011111/111'],
+      ['+11 (0)10 1101 1111/', '+11(0)10-11011111'],
+      ['+11 (0)10 1101 1111', '+11(0)10-11011111'],
+      ['(111 11) 111111/111', '+111(0)11-111111/111'],
+      ['(111 11) 111111/', '+111(0)11-111111'],
+      ['(111 11) 111111', '+111(0)11-111111'],
+      ['(111 11) 111-11-11/111', '+111(0)11-1111111/111'],
+      ['(111 11) 111-11-11/', '+111(0)11-1111111'],
+      ['(111 11) 111-11-11', '+111(0)11-1111111'],
+      ['(111 11)101011/111', '+111(0)11-101011/111'],
+      ['(111 11)101011/', '+111(0)11-101011'],
+      ['(111 11)101011', '+111(0)11-101011'],
+      ['(+111)101111111/111', '+111(0)-101111111/111'],
+      ['(+111)101111111/', '+111(0)-101111111'],
+      ['(+111)101111111', '+111(0)-101111111'],
+      ['(+111) 11110011/111', '+111(0)-11110011/111'],
+      ['(+111) 11110011/', '+111(0)-11110011'],
+      ['(+111) 11110011', '+111(0)-11110011'],
+      ['+11 (11) 1111 1111/111', '+11(0)11-11111111/111'],
+      ['+11 (11) 1111 1111/', '+11(0)11-11111111'],
+      ['+11 (11) 1111 1111', '+11(0)11-11111111'],
+      ['+11 (11)-10111111/111', '+11(0)11-10111111/111'],
+      ['+11 (11)-10111111/', '+11(0)11-10111111'],
+      ['+11 (11)-10111111', '+11(0)11-10111111'],
+      ['(+11-111) 1111111/111', '+11(0)111-1111111/111'],
+      ['(+11-111) 1111111/', '+11(0)111-1111111'],
+      ['(+11-111) 1111111', '+11(0)111-1111111'],
+      ['(+11-11)-1111111/111', '+11(0)11-1111111/111'],
+      ['(+11-11)-1111111/', '+11(0)11-1111111'],
+      ['(+11-11)-1111111', '+11(0)11-1111111'],
+      ['(11-11) 111-1111/111', '+11(0)11-1111111/111'],
+      ['(11-11) 111-1111/', '+11(0)11-1111111'],
+      ['(11-11) 111-1111', '+11(0)11-1111111'],
+      ['(11-1) 1.111.111/111', '+11(0)1-1111111/111'],
+      ['(11-1) 1.111.111/', '+11(0)1-1111111'],
+      ['(11-1) 1.111.111', '+11(0)1-1111111'],
+      ['+111-11111110/111', '+111(0)-11111110/111'],
+      ['+111-11111110/', '+111(0)-11111110'],
+      ['+111-11111110', '+111(0)-11111110'],
+      ['(11 11) 110 11 11/111', '+11(0)11-1101111/111'],
+      ['(11 11) 110 11 11/', '+11(0)11-1101111'],
+      ['(11 11) 110 11 11', '+11(0)11-1101111'],
+      ['(11 011) 110-10-11/111', '+11(0)011-1101011/111'],
+      ['(11 011) 110-10-11/', '+11(0)011-1101011'],
+      ['(11 011) 110-10-11', '+11(0)011-1101011'],
+      ['+1 (111) 1101-111/111', '+1(0)111-1101111/111'],
+      ['+1 (111) 1101-111/', '+1(0)111-1101111'],
+      ['+1 (111) 1101-111', '+1(0)111-1101111'],
+      ['1 (111) 1101-101/111', '+1(0)111-1101101/111'],
+      ['1 (111) 1101-101/', '+1(0)111-1101101'],
+      ['1 (111) 1101-101', '+1(0)111-1101101'],
+      ['+10 (111) 110 11 11/111', '+10(0)111-1101111/111'],
+      ['+10 (111) 110 11 11/', '+10(0)111-1101111'],
+      ['+10 (111) 110 11 11', '+10(0)111-1101111'],
+      ['+ 111 1 1101 101/111', '+111(0)1-1101101/111'],
+      ['+ 111 1 1101 101/', '+111(0)1-1101101'],
+      ['+ 111 1 1101 101', '+111(0)1-1101101'],
+      ['+11 1111-1111/111', '+11(0)-11111111/111'],
+      ['+11 1111-1111/', '+11(0)-11111111'],
+      ['+11 1111-1111', '+11(0)-11111111'],
+      ['+(111 11) 100-11-11/111', '+111(0)11-1001111/111'],
+      ['+(111 11) 100-11-11/', '+111(0)11-1001111'],
+      ['+(111 11) 100-11-11', '+111(0)11-1001111'],
+      ['+ 111-11-1110111/111', '+111(0)11-1110111/111'],
+      ['+ 111-11-1110111/', '+111(0)11-1110111'],
+      ['+ 111-11-1110111', '+111(0)11-1110111'],
+      ['+ (111) 111-111/111', '+111(0)-111111/111'],
+      ['+ (111) 111-111/', '+111(0)-111111'],
+      ['+ (111) 111-111', '+111(0)-111111'],
+      ['+111/1/1111 1100/111', '+111(0)1-11111100/111'],
+      ['+111/1/1111 1100/', '+111(0)1-11111100'],
+      ['+111/1/1111 1100', '+111(0)1-11111100'],
     ]
 
     for i in input_list:




More information about the Erp5-report mailing list