Closed mkrasowski closed 6 months ago
This PR tries a little harder to avoid duplicates in attribute values by ignoring case when checking if a value already exists.
Helps with some attributes for popular TLDs like .com or .net.
.com
.net
Example: google.com
google.com
Corrects attributes:
domain_name
name_servers
Before:
>> import whois >>> w = whois.whois('google.com') >>> print(w) { "domain_name": [ "GOOGLE.COM", "google.com" ], "registrar": "MarkMonitor, Inc.", "whois_server": "whois.markmonitor.com", "referral_url": null, "updated_date": [ "2019-09-09 15:39:04", "2019-09-09 15:39:04+00:00" ], "creation_date": [ "1997-09-15 04:00:00", "1997-09-15 07:00:00+00:00" ], "expiration_date": [ "2028-09-14 04:00:00", "2028-09-13 07:00:00+00:00" ], "name_servers": [ "NS1.GOOGLE.COM", "NS2.GOOGLE.COM", "NS3.GOOGLE.COM", "NS4.GOOGLE.COM", "ns4.google.com", "ns3.google.com", "ns2.google.com", "ns1.google.com" ], "status": [ "clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited", "clientTransferProhibited https://icann.org/epp#clientTransferProhibited", "clientUpdateProhibited https://icann.org/epp#clientUpdateProhibited", "serverDeleteProhibited https://icann.org/epp#serverDeleteProhibited", "serverTransferProhibited https://icann.org/epp#serverTransferProhibited", "serverUpdateProhibited https://icann.org/epp#serverUpdateProhibited", "clientUpdateProhibited (https://www.icann.org/epp#clientUpdateProhibited)", "clientTransferProhibited (https://www.icann.org/epp#clientTransferProhibited)", "clientDeleteProhibited (https://www.icann.org/epp#clientDeleteProhibited)", "serverUpdateProhibited (https://www.icann.org/epp#serverUpdateProhibited)", "serverTransferProhibited (https://www.icann.org/epp#serverTransferProhibited)", "serverDeleteProhibited (https://www.icann.org/epp#serverDeleteProhibited)" ], "emails": [ "abusecomplaints@markmonitor.com", "whoisrequest@markmonitor.com" ], "dnssec": "unsigned", "name": null, "org": "Google LLC", "address": null, "city": null, "state": "CA", "registrant_postal_code": null, "country": "US" }
After:
>>> import whois >>> w = whois.whois('google.com') >>> print(w) { "domain_name": "GOOGLE.COM", "registrar": "MarkMonitor, Inc.", "whois_server": "whois.markmonitor.com", "referral_url": null, "updated_date": [ "2019-09-09 15:39:04", "2019-09-09 15:39:04+00:00" ], "creation_date": [ "1997-09-15 04:00:00", "1997-09-15 07:00:00+00:00" ], "expiration_date": [ "2028-09-14 04:00:00", "2028-09-13 07:00:00+00:00" ], "name_servers": [ "NS1.GOOGLE.COM", "NS2.GOOGLE.COM", "NS3.GOOGLE.COM", "NS4.GOOGLE.COM" ], "status": [ "clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited", "clientTransferProhibited https://icann.org/epp#clientTransferProhibited", "clientUpdateProhibited https://icann.org/epp#clientUpdateProhibited", "serverDeleteProhibited https://icann.org/epp#serverDeleteProhibited", "serverTransferProhibited https://icann.org/epp#serverTransferProhibited", "serverUpdateProhibited https://icann.org/epp#serverUpdateProhibited", "clientUpdateProhibited (https://www.icann.org/epp#clientUpdateProhibited)", "clientTransferProhibited (https://www.icann.org/epp#clientTransferProhibited)", "clientDeleteProhibited (https://www.icann.org/epp#clientDeleteProhibited)", "serverUpdateProhibited (https://www.icann.org/epp#serverUpdateProhibited)", "serverTransferProhibited (https://www.icann.org/epp#serverTransferProhibited)", "serverDeleteProhibited (https://www.icann.org/epp#serverDeleteProhibited)" ], "emails": [ "abusecomplaints@markmonitor.com", "whoisrequest@markmonitor.com" ], "dnssec": "unsigned", "name": null, "org": "Google LLC", "address": null, "city": null, "state": "CA", "registrant_postal_code": null, "country": "US" }
There is more that has to be done, especially for whois responses from MarkMonitor, but that's for another day.
good idea, thanks!
This PR tries a little harder to avoid duplicates in attribute values by ignoring case when checking if a value already exists.
Helps with some attributes for popular TLDs like
.com
or.net
.Example:
google.com
Corrects attributes:
domain_name
name_servers
Before:
After:
There is more that has to be done, especially for whois responses from MarkMonitor, but that's for another day.