# HG changeset patch # User vanzhiganov # Date 1465014454 -10800 # Node ID 67b90bfc59c71b9cd0ff5bed63682b98faa6005c # Parent 3202436d89d0e0a03b93fca8e9db1f0826f80237 Support .ee zone diff -r 3202436d89d0 -r 67b90bfc59c7 whois/parser.py --- a/whois/parser.py Thu Jun 02 14:05:21 2016 -0700 +++ b/whois/parser.py Sat Jun 04 07:27:34 2016 +0300 @@ -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 """