Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Modified phone2numeric to not use regular expression or lambdas

  • Loading branch information...
commit cfe552ccb39e15544bbb1ab1eccc41081e0c6441 1 parent f4cc782
Not Carl authored
Showing with 6 additions and 8 deletions.
  1. +6 −8 django/utils/text.py
View
14 django/utils/text.py
@@ -266,14 +266,12 @@ def recapitalize(text):
def phone2numeric(phone):
"Converts a phone number with letters into its numeric equivalent."
- letters = re.compile(r'[A-Z]', re.I)
- char2number = lambda m: {'a': '2', 'b': '2', 'c': '2', 'd': '3', 'e': '3',
- 'f': '3', 'g': '4', 'h': '4', 'i': '4', 'j': '5', 'k': '5', 'l': '5',
- 'm': '6', 'n': '6', 'o': '6', 'p': '7', 'q': '7', 'r': '7', 's': '7',
- 't': '8', 'u': '8', 'v': '8', 'w': '9', 'x': '9', 'y': '9', 'z': '9',
- }.get(m.group(0).lower())
- return letters.sub(char2number, phone)
-phone2numeric = allow_lazy(phone2numeric)
+ char2number = {'a': '2', 'b': '2', 'c': '2', 'd': '3', 'e': '3', 'f': '3',
+ 'g': '4', 'h': '4', 'i': '4', 'j': '5', 'k': '5', 'l': '5', 'm': '6',
+ 'n': '6', 'o': '6', 'p': '7', 'q': '7', 'r': '7', 's': '7', 't': '8',
+ 'u': '8', 'v': '8', 'w': '9', 'x': '9', 'y': '9', 'z': '9',
+ }
+ return u''.join(char2number.get(c,c) for c in phone.lower())
# From http://www.xhaus.com/alan/python/httpcomp.html#gzip
# Used with permission.

0 comments on commit cfe552c

Please sign in to comment.
Something went wrong with that request. Please try again.