# HG changeset patch # User joan # Date 1512254098 -3600 # Node ID 0b10b59aa7fd4237360f1dac1b16341c868b13a1 # Parent f81577dfa873a6cc5915fce27f04ae898818295d Add class to check for results in .cat domains diff -r f81577dfa873 -r 0b10b59aa7fd whois/parser.py --- a/whois/parser.py Fri Dec 01 18:18:55 2017 -0500 +++ b/whois/parser.py Sat Dec 02 23:34:58 2017 +0100 @@ -266,6 +266,8 @@ return WhoisIl(domain, text) elif domain.endswith('.in'): return WhoisIn(domain, text) + elif domain.endswith('.cat'): + return WhoisCat(domain, text) else: return WhoisEntry(domain, text) @@ -1297,3 +1299,26 @@ raise PywhoisError(text) else: WhoisEntry.__init__(self, domain, text, self.regex) + +class WhoisCat(WhoisEntry): + """Whois parser for .cat domains + """ + regex = { + 'domain_name': 'Domain Name: *(.+)', + 'registrar': 'Registrar: *(.+)', + 'updated_date': 'Updated Date: *(.+)', + 'creation_date': 'Creation Date: *(.+)', + 'expiration_date': 'Registry Expiry Date: *(.+)', + 'name_servers': 'Name Server: *(.+)', + 'status': 'Domain status: *(.+)', + 'emails': EMAIL_REGEX, + } + + def __init__(self, domain, text): + if 'NOT FOUND' in text: + raise PywhoisError(text) + else: + # Merge base class regex with specifics + self._regex.update(self.regex) + self.regex = self._regex + WhoisEntry.__init__(self, domain, text, self.regex)