diff -r c77e24f4685a -r 9437303d43e8 whois/parser.py --- a/whois/parser.py Thu Dec 07 01:00:03 2017 +0100 +++ b/whois/parser.py Wed Dec 13 17:49:29 2017 +0000 @@ -269,6 +269,8 @@ return WhoisIn(domain, text) elif domain.endswith('.cat'): return WhoisCat(domain, text) + elif domain.endswith('.ie'): + return WhoisIe(domain, text) else: return WhoisEntry(domain, text) @@ -1323,3 +1325,25 @@ self._regex.update(self.regex) self.regex = self._regex WhoisEntry.__init__(self, domain, text, self.regex) + + +class WhoisIe(WhoisEntry): + """Whois parser for .ie domains + """ + regex = { + 'domain_name': 'domain: *(.+)', + 'description': 'descr: *(.+)', + 'source': 'Source: *(.+)', + 'creation_date': 'registration: *(.+)', + 'expiration_date': 'renewal: *(.+)', + 'name_servers': 'nserver: *(.+)', + 'status': 'ren-status: *(.+)', + 'admin_id': 'admin-c: *(.+)', + 'tech_id': 'tech-c: *(.+)' + } + + def __init__(self, domain, text): + if 'no matching objects' in text: + raise PywhoisError(text) + else: + WhoisEntry.__init__(self, domain, text, self.regex)