whois/parser.py
changeset 23 5c3e1a2c9c9a
parent 22 1a6c1830d4bc
child 24 16f17c400a70
equal deleted inserted replaced
22:1a6c1830d4bc 23:5c3e1a2c9c9a
    51         'registrar':        'Registrar:\s?(.+)',
    51         'registrar':        'Registrar:\s?(.+)',
    52         'whois_server':     'Whois Server:\s?(.+)',
    52         'whois_server':     'Whois Server:\s?(.+)',
    53         'referral_url':     'Referral URL:\s?(.+)', # http url of whois_server
    53         'referral_url':     'Referral URL:\s?(.+)', # http url of whois_server
    54         'updated_date':     'Updated Date:\s?(.+)',
    54         'updated_date':     'Updated Date:\s?(.+)',
    55         'creation_date':    'Creation Date:\s?(.+)',
    55         'creation_date':    'Creation Date:\s?(.+)',
    56         'expiration_date':  'Expiration Date:\s?(.+)',
    56         'expiration_date':  'Expir\w+ Date:\s?(.+)',
    57         'name_servers':     'Name Server:\s?(.+)', # list of name servers
    57         'name_servers':     'Name Server:\s?(.+)', # list of name servers
    58         'status':           'Status:\s?(.+)', # list of statuses
    58         'status':           'Status:\s?(.+)', # list of statuses
    59         'emails':           '[\w.-]+@[\w.-]+\.[\w]{2,4}', # list of email addresses
    59         'emails':           '[\w.-]+@[\w.-]+\.[\w]{2,4}', # list of email addresses
    60     }
    60     }
    61 
    61 
    80                 if value and value not in values:
    80                 if value and value not in values:
    81                     # avoid duplicates
    81                     # avoid duplicates
    82                     values.append(value)
    82                     values.append(value)
    83             if len(values) == 1:
    83             if len(values) == 1:
    84                 values = values[0]
    84                 values = values[0]
       
    85             elif not values:
       
    86                 values = None
    85 
    87 
    86             setattr(self, attr, values)
    88             setattr(self, attr, values)
    87             return getattr(self, attr)
    89             return getattr(self, attr)
    88         else:
    90         else:
    89             raise KeyError('Unknown attribute: %s' % attr)
    91             raise KeyError('Unknown attribute: %s' % attr)