From c5e4bf9ebd85679a364556fa77a6c4befe851363 Mon Sep 17 00:00:00 2001 From: justin hohner Date: Tue, 29 Sep 2015 17:15:05 -0500 Subject: [PATCH] rogers.ca causes a key error on registrar --- pythonwhois/parse.py | 5 +++- test/data/rogers.ca | 44 ++++++++++++++++++++++++++++++++ test/target_default/rogers.ca | 1 + test/target_normalized/rogers.ca | 1 + 4 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 test/data/rogers.ca create mode 100644 test/target_default/rogers.ca create mode 100644 test/target_normalized/rogers.ca diff --git a/pythonwhois/parse.py b/pythonwhois/parse.py index 66217d6..c1f1c41 100644 --- a/pythonwhois/parse.py +++ b/pythonwhois/parse.py @@ -513,7 +513,10 @@ def parse_raw_whois(raw_data, normalized=None, never_query_handles=True, handle_ # SIDN isn't very standard either. And EURid uses a similar format. match = re.search("Registrar:\n\s+(?:Name:\s*)?(\S.*)", segment) if match is not None: - data["registrar"].insert(0, match.group(1).strip()) + try: + data["registrar"].insert(0, match.group(1).strip()) + except KeyError as e: + data["registrar"] = match.group(1).strip() match = re.search("(?:Domain nameservers|Name servers):([\s\S]*?\n)\n", segment) if match is not None: chunk = match.group(1) diff --git a/test/data/rogers.ca b/test/data/rogers.ca new file mode 100644 index 0000000..b47a6ef --- /dev/null +++ b/test/data/rogers.ca @@ -0,0 +1,44 @@ +Domain name: rogers.ca +Domain status: registered +Creation date: 2000/10/24 +Expiry date: 2017/04/20 +Updated date: 2012/12/27 +DNSSEC: Unsigned + +Registrar: + Name: CSC Corporate Domains (Canada) Company + Number: 2397937 + +Registrant: + Name: Rogers Communications Inc. + +Administrative contact: + Name: Debra Charlery + Postal address: 333 Bloor St. East., 9th Floor + Toronto ON M4W 1G9 Canada + Phone: 1 416 9357938 + Fax: 1 416 9357627 + Email: domadmin@rci.rogers.com + +Technical contact: + Name: Domain Tech + Postal address: RCI - Rogers Shared Services + 8200 Dixie Road + Brampton ON L6T 0C1 Canada + Phone: 1 647 7475312 + Fax: + Email: domtech@rci.rogers.com + +Name servers: + ns2.wlfdle.rnc.net.cable.rogers.com + ns2.ym.rnc.net.cable.rogers.com + ns3.wlfdle.rnc.net.cable.rogers.com + ns3.ym.rnc.net.cable.rogers.com + +% WHOIS look-up made at 2015-09-29 22:12:10 (GMT) +% +% Use of CIRA's WHOIS service is governed by the Terms of Use in its Legal +% Notice, available at http://www.cira.ca/legal-notice/?lang=en +% +% (c) 2015 Canadian Internet Registration Authority, (http://www.cira.ca/) + diff --git a/test/target_default/rogers.ca b/test/target_default/rogers.ca new file mode 100644 index 0000000..f122040 --- /dev/null +++ b/test/target_default/rogers.ca @@ -0,0 +1 @@ +{"status": ["registered"], "updated_date": ["2012-12-27T00:00:00"], "contacts": {"admin": null, "tech": null, "registrant": null, "billing": null}, "nameservers": ["ns2.wlfdle.rnc.net.cable.rogers.com", "ns2.ym.rnc.net.cable.rogers.com", "ns3.wlfdle.rnc.net.cable.rogers.com", "ns3.ym.rnc.net.cable.rogers.com"], "expiration_date": ["2017-04-20T00:00:00"], "creation_date": ["2000-10-24T00:00:00"], "raw": ["Domain name: rogers.ca\nDomain status: registered\nCreation date: 2000/10/24\nExpiry date: 2017/04/20\nUpdated date: 2012/12/27\nDNSSEC: Unsigned\n\nRegistrar:\n Name: CSC Corporate Domains (Canada) Company\n Number: 2397937\n\nRegistrant:\n Name: Rogers Communications Inc.\n\nAdministrative contact:\n Name: Debra Charlery\n Postal address: 333 Bloor St. East., 9th Floor \n Toronto ON M4W 1G9 Canada\n Phone: 1 416 9357938\n Fax: 1 416 9357627\n Email: domadmin@rci.rogers.com\n\nTechnical contact:\n Name: Domain Tech\n Postal address: RCI - Rogers Shared Services\n 8200 Dixie Road \n Brampton ON L6T 0C1 Canada\n Phone: 1 647 7475312\n Fax:\n Email: domtech@rci.rogers.com\n\nName servers:\n ns2.wlfdle.rnc.net.cable.rogers.com\n ns2.ym.rnc.net.cable.rogers.com\n ns3.wlfdle.rnc.net.cable.rogers.com\n ns3.ym.rnc.net.cable.rogers.com\n\n% WHOIS look-up made at 2015-09-29 22:12:10 (GMT)\n%\n% Use of CIRA's WHOIS service is governed by the Terms of Use in its Legal\n% Notice, available at http://www.cira.ca/legal-notice/?lang=en \n%\n% (c) 2015 Canadian Internet Registration Authority, (http://www.cira.ca/) \n\n"], "registrar": ["C", "S", " ", "o", "r", "p", "a", "t", "e", "D", "m", "i", "n", "s", "(", "d", ")", "y"], "emails": ["domadmin@rci.rogers.com", "domtech@rci.rogers.com"]} \ No newline at end of file diff --git a/test/target_normalized/rogers.ca b/test/target_normalized/rogers.ca new file mode 100644 index 0000000..6ca3afb --- /dev/null +++ b/test/target_normalized/rogers.ca @@ -0,0 +1 @@ +{"status": ["Registered"], "updated_date": ["2012-12-27T00:00:00"], "contacts": {"admin": null, "tech": null, "registrant": null, "billing": null}, "nameservers": ["ns2.wlfdle.rnc.net.cable.rogers.com", "ns2.ym.rnc.net.cable.rogers.com", "ns3.wlfdle.rnc.net.cable.rogers.com", "ns3.ym.rnc.net.cable.rogers.com"], "expiration_date": ["2017-04-20T00:00:00"], "creation_date": ["2000-10-24T00:00:00"], "raw": ["Domain name: rogers.ca\nDomain status: registered\nCreation date: 2000/10/24\nExpiry date: 2017/04/20\nUpdated date: 2012/12/27\nDNSSEC: Unsigned\n\nRegistrar:\n Name: CSC Corporate Domains (Canada) Company\n Number: 2397937\n\nRegistrant:\n Name: Rogers Communications Inc.\n\nAdministrative contact:\n Name: Debra Charlery\n Postal address: 333 Bloor St. East., 9th Floor \n Toronto ON M4W 1G9 Canada\n Phone: 1 416 9357938\n Fax: 1 416 9357627\n Email: domadmin@rci.rogers.com\n\nTechnical contact:\n Name: Domain Tech\n Postal address: RCI - Rogers Shared Services\n 8200 Dixie Road \n Brampton ON L6T 0C1 Canada\n Phone: 1 647 7475312\n Fax:\n Email: domtech@rci.rogers.com\n\nName servers:\n ns2.wlfdle.rnc.net.cable.rogers.com\n ns2.ym.rnc.net.cable.rogers.com\n ns3.wlfdle.rnc.net.cable.rogers.com\n ns3.ym.rnc.net.cable.rogers.com\n\n% WHOIS look-up made at 2015-09-29 22:12:10 (GMT)\n%\n% Use of CIRA's WHOIS service is governed by the Terms of Use in its Legal\n% Notice, available at http://www.cira.ca/legal-notice/?lang=en \n%\n% (c) 2015 Canadian Internet Registration Authority, (http://www.cira.ca/) \n\n"], "registrar": ["C", "S", " ", "o", "r", "p", "a", "t", "e", "D", "m", "i", "n", "s", "(", "d", ")", "y"], "emails": ["domadmin@rci.rogers.com", "domtech@rci.rogers.com"]} \ No newline at end of file