merged
authorRichard Penman
Wed, 15 Jun 2016 09:39:05 +0100
changeset 101 e804426aad35
parent 100 b5699d950712 (current diff)
parent 99 67b90bfc59c7 (diff)
child 102 e8cb8d1367c0
merged
--- 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
     """