# HG changeset patch # User Richard Penman # Date 1465979945 -3600 # Node ID e804426aad350c6a496afcf94da7f578027de6d1 # Parent b5699d9507125fe91c18aeb8b2949ca68934e2e6# Parent 67b90bfc59c71b9cd0ff5bed63682b98faa6005c merged diff -r b5699d950712 -r e804426aad35 whois/parser.py --- a/whois/parser.py Wed Jun 15 09:38:21 2016 +0100 +++ b/whois/parser.py Wed Jun 15 09:39:05 2016 +0100 @@ -198,6 +198,8 @@ return WhoisBr(domain, text) elif domain.endswith('.eu'): return WhoisEu(domain, text) + elif domain.endswith('.ee'): + return WhoisEe(domain, text) elif domain.endswith('.kr'): return WhoisKr(domain, text) elif domain.endswith('.pt'): @@ -666,6 +668,32 @@ WhoisEntry.__init__(self, domain, text, self.regex) +class WhoisEe(WhoisEntry): + """Whois parser for .ee domains + """ + regex = { + 'domain_name': r'Domain: *[\n\r]+\s*name: *([^\n\r]+)', + 'status': r'Domain: *[\n\r]+\s*name: *[^\n\r]+\sstatus: *([^\n\r]+)', + 'registered': r'Domain: *[\n\r]+\s*name: *[^\n\r]+\sstatus: *[^\n\r]+\sregistered: *([^\n\r]+)', + 'changed': r'Domain: *[\n\r]+\s*name: *[^\n\r]+\sstatus: *[^\n\r]+\sregistered: *[^\n\r]+\schanged: *([^\n\r]+)', + 'expire': r'Domain: *[\n\r]+\s*name: *[^\n\r]+\sstatus: *[^\n\r]+\sregistered: *[^\n\r]+\schanged: *[^\n\r]+\sexpire: *([^\n\r]+)', + + # 'tech_name': r'Technical: *Name: *([^\n\r]+)', + # 'tech_org': r'Technical: *Name: *[^\n\r]+\s*Organisation: *([^\n\r]+)', + # 'tech_phone': r'Technical: *Name: *[^\n\r]+\s*Organisation: *[^\n\r]+\s*Language: *[^\n\r]+\s*Phone: *([^\n\r]+)', + # 'tech_fax': r'Technical: *Name: *[^\n\r]+\s*Organisation: *[^\n\r]+\s*Language: *[^\n\r]+\s*Phone: *[^\n\r]+\s*Fax: *([^\n\r]+)', + # 'tech_email': r'Technical: *Name: *[^\n\r]+\s*Organisation: *[^\n\r]+\s*Language: *[^\n\r]+\s*Phone: *[^\n\r]+\s*Fax: *[^\n\r]+\s*Email: *([^\n\r]+)', + 'registrar': r'Registrar: *[\n\r]+\s*name: *([^\n\r]+)', + 'name_servers': r'nserver: *(.*)', # list of name servers + } + + def __init__(self, domain, text): + if text.strip() == 'Domain not found': + raise PywhoisError(text) + else: + WhoisEntry.__init__(self, domain, text, self.regex) + + class WhoisBr(WhoisEntry): """Whois parser for .br domains """