Add class to check for results in .cat domains
authorjoan <aseques@gmail.com>
Sat, 02 Dec 2017 23:34:58 +0100
changeset 146 0b10b59aa7fd
parent 145 f81577dfa873
child 147 7182f88ede83
Add class to check for results in .cat domains
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)