# HG changeset patch # User Richard Penman # Date 1456911905 0 # Node ID 5e0cf54cf6c3b665e218ecb1f9517b11721cfb47 # Parent 25bab46f72814392e638ffae847dafc0bb77b07c# Parent 6fcd6564d1f8b1d5628c36711c97ea0a99729b23 Merged in ftao/pywhois (pull request #2) update tlds.txt diff -r 6fcd6564d1f8 -r 5e0cf54cf6c3 whois/parser.py --- a/whois/parser.py Sat Jan 16 06:48:13 2016 +0000 +++ b/whois/parser.py Wed Mar 02 09:45:05 2016 +0000 @@ -45,7 +45,7 @@ def datetime_parse(s): for known_format in KNOWN_FORMATS: try: - s = datetime.strptime(s.strip(), known_format) + s = datetime.strptime(s, known_format) break except ValueError as e: pass # Wrong format, keep trying @@ -57,7 +57,7 @@ if DATEUTIL: try: return dp.parse( - s.strip(), + s, tzinfos=tz_data, dayfirst=dayfirst, yearfirst=yearfirst @@ -114,11 +114,13 @@ if regex: values = [] for value in re.findall(regex, self.text, re.IGNORECASE): - if isinstance(value, basestring): + value = value.strip() + if value and isinstance(value, basestring): # try casting to date format - value = cast_date(value.strip(), - dayfirst=self.dayfirst, - yearfirst=self.yearfirst) + value = cast_date( + value, + dayfirst=self.dayfirst, + yearfirst=self.yearfirst) if value and value not in values: # avoid duplicates values.append(value) @@ -548,7 +550,7 @@ 'domain_name': 'domain:\s*(.+)', 'registrar': 'registrar:\s*(.+)', 'creation_date': 'created:\s*(.+)', - 'expiration_date': 'anniversary:\s*(.+)', + 'expiration_date': 'Expir\w+ Date:\s?(.+)', 'name_servers': 'nserver:\s*(.+)', # list of name servers 'status': 'status:\s*(.+)', # list of statuses 'emails': '[\w.-]+@[\w.-]+\.[\w]{2,4}', # list of email addresses