# HG changeset patch # User Richard Penman # Date 1464901078 25200 # Node ID 0b2e70f3f53746e477c88978c54221ab6cabd85c # Parent d6fcfa5acc7b99ddc9b913874341faca4e43f6fd# Parent 124331d7ca1e757bd4e9a6bcafe8580a80f3f755 Merged in hex2a/pywhois (pull request #8) add .at tld diff -r 124331d7ca1e -r 0b2e70f3f537 whois/__init__.py --- a/whois/__init__.py Fri May 06 13:52:16 2016 +0000 +++ b/whois/__init__.py Thu Jun 02 13:57:58 2016 -0700 @@ -19,6 +19,12 @@ ip_match = re.match(r"^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$", url) if ip_match: domain = url + try: + result = socket.gethostbyaddr(url) + except socket.herror as e: + pass + else: + domain = result[0] else: domain = extract_domain(url) if command: diff -r 124331d7ca1e -r 0b2e70f3f537 whois/parser.py --- a/whois/parser.py Fri May 06 13:52:16 2016 +0000 +++ b/whois/parser.py Thu Jun 02 13:57:58 2016 -0700 @@ -135,6 +135,8 @@ if value and value not in values: # avoid duplicates values.append(value) + if values and attr in ('registrar', 'whois_server', 'referral_url'): + values = values[-1] # ignore junk if len(values) == 1: values = values[0] elif not values: @@ -563,7 +565,7 @@ 'domain_name': 'domain: *(.+)', 'registrar': 'registrar: *(.+)', 'creation_date': 'created: *(.+)', - 'expiration_date': 'anniversary: *(.+)', + 'expiration_date': 'Expir\w+ Date:\s?(.+)', 'name_servers': 'nserver: *(.+)', # list of name servers 'status': 'status: *(.+)', # list of statuses 'emails': EMAIL_REGEX, # list of email addresses @@ -590,7 +592,7 @@ 'updated_date': 'modified: *([\S]+)', 'expiration_date': 'expires: *([\S]+)', 'name_servers': 'nserver: *([\S]+) \[\S+\]', # list of name servers - 'name_server_statuses': 'nserver: *([\S]+) \[(\S+)\]', # list of name servers and statuses + 'name_server_statuses': 'nserver: *([\S]+) \[\S+\]', # list of name servers and statuses 'dnssec': 'dnssec: *([\S]+)', }