Advertisement
Guest User

Untitled

a guest
Apr 21st, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.89 KB | None | 0 0
  1. #!/usr/bin/env python
  2.  
  3. import sys
  4. import re
  5.  
  6. space_between_plus_and_digit = re.compile(r"\+\s+[0-9]")
  7. phone_number_regex = re.compile(r"(\+|00)?([0-9]+)")
  8.  
  9. def extract_number(line):
  10.     if space_between_plus_and_digit.search(line):
  11.         return None
  12.     line = line.replace(" ", "")
  13.    
  14.     m = phone_number_regex.match(line)
  15.     if not m:
  16.         return None
  17.    
  18.     prefix = m.group(1)
  19.     number = m.group(2)
  20.  
  21.     if prefix == "00" and number.startswith("00"):
  22.         return None
  23.  
  24.     l = len(number) if number else 0
  25.     if l == 3 or (l >= 7 and l <= 12):
  26.         return number
  27.  
  28.  
  29. def main(args):
  30.     if len(args) < 2:
  31.         print "Missing argument"
  32.         return -1
  33.  
  34.     with open(args[1], "r") as phone_numbers_file:
  35.         lines = phone_numbers_file.read().splitlines()
  36.  
  37.     for line in lines:
  38.         phone_number = extract_number(line)
  39.         print "{0} -> {1}".format(line, phone_number if phone_number else "Invalid")   
  40.  
  41.  
  42.  
  43.  
  44.  
  45. main(sys.argv)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement