diff --git a/pwhois b/pwhois index 0909762..08c9595 100755 --- a/pwhois +++ b/pwhois @@ -80,6 +80,7 @@ else: data_map["email"] = "E-mail address" data_map["phone"] = "Phone number" data_map["fax"] = "Fax number" + data_map["creationdate"] = "Created" data_map["changedate"] = "Last changed" for contact in contacts_map: diff --git a/pythonwhois/parse.py b/pythonwhois/parse.py index 040ddbc..f13fe75 100644 --- a/pythonwhois/parse.py +++ b/pythonwhois/parse.py @@ -174,7 +174,7 @@ def parse_raw_whois(raw_data, normalized=[]): data[rule_key] = [val] # Whois.com is a bit special... Fabulous.com also seems to use this format. As do some others. - match = re.search("^\s?Name\s?[Ss]ervers:\s*\n((?:\s*.+\n)+?\s?)\n", segment, re.MULTILINE) + match = re.search("^\s?Name\s?[Ss]ervers:?\s*\n((?:\s*.+\n)+?\s?)\n", segment, re.MULTILINE) if match is not None: chunk = match.group(1) for match in re.findall("[ ]*(.+)\n", chunk): @@ -251,6 +251,10 @@ def parse_raw_whois(raw_data, normalized=[]): match = re.search('ren-status:\s*(.+)', segment) if match is not None: data["status"].insert(0, match.group(1).strip()) + # nic.it gives us the registrar in a multi-line format... + match = re.search('Registrar\n Organization: (.+)\n', segment) + if match is not None: + data["registrar"] = [match.group(1).strip()] data["contacts"] = parse_registrants(raw_data) @@ -520,6 +524,7 @@ def parse_registrants(data): "\n\n(?:Owner)?\s+: (?P.*)\n(?:\s+: (?P.*)\n)?\s+: (?P.*)\n\s+: (?P.*)\n\s+: (?P.*)\n\s+: (?P.*)\n", # nic.io "Contact Information:\n\[Name\]\s*(?P.*)\n\[Email\]\s*(?P.*)\n\[Web Page\]\s*(?P.*)\n\[Postal code\]\s*(?P.*)\n\[Postal Address\]\s*(?P.*)\n(?:\s+(?P.*)\n)?(?:\s+(?P.*)\n)?\[Phone\]\s*(?P.*)\n\[Fax\]\s*(?P.*)\n", # jprs.jp "Registrant ID:(?P.*)\nRegistrant Name:(?P.*)\n(?:Registrant Organization:(?P.*)\n)?Registrant Address1:(?P.*)\n(?:Registrant Address2:(?P.*)\n)?(?:Registrant Address3:(?P.*)\n)?Registrant City:(?P.*)\n(?:Registrant State/Province:(?P.*)\n)?Registrant Postal Code:(?P.*)\nRegistrant Country:(?P.*)\nRegistrant Country Code:.*\nRegistrant Phone Number:(?P.*)\n(?:Registrant Facsimile Number:(?P.*)\n)?Registrant Email:(?P.*)", # .US, .biz (NeuStar) + "Registrant\n Name: (?P.+)\n(?: Organization: (?P.+)\n)? ContactID: (?P.+)\n(?: Address: (?P.+)\n(?: (?P.+)\n(?: (?P.+)\n)?)? (?P.+)\n (?P.+)\n (?P.+)\n (?P.+)\n)?(?: Created: (?P.+)\n)?(?: Last Update: (?P.+)\n)?", # nic.it " Organisation Name[.]* (?P.*)\n Organisation Address[.]* (?P.*)\n Organisation Address[.]* (?P.*)\n(?: Organisation Address[.]* (?P.*)\n)? Organisation Address[.]* (?P.*)\n Organisation Address[.]* (?P.*)\n Organisation Address[.]* (?P.*)\n Organisation Address[.]* (?P.*)", # Melbourne IT (what a horrid format...) "Registrant:[ ]*(?P.+)\n[\s\S]*Eligibility Name:[ ]*(?P.+)\n[\s\S]*Registrant Contact ID:[ ]*(?P.+)\n", # .au business "Eligibility Type:[ ]*Citizen\/Resident\n[\s\S]*Registrant Contact ID:[ ]*(?P.+)\n[\s\S]*Registrant Contact Name:[ ]*(?P.+)\n", # .au individual @@ -553,6 +558,7 @@ def parse_registrants(data): "Technical contact:\n(?P[\S\s]+)\n(?P.+)\n(?P[A-Z0-9-]+)\s+(?P.+)\n(?P.+)\n\n", # nic.ch "Tech Contact ID:[ ]*(?P.+)\nTech Contact Name:[ ]*(?P.+)", # .au "Technical Contact ID:(?P.*)\nTechnical Contact Name:(?P.*)\n(?:Technical Contact Organization:(?P.*)\n)?Technical Contact Address1:(?P.*)\n(?:Technical Contact Address2:(?P.*)\n)?(?:Technical Contact Address3:(?P.*)\n)?Technical Contact City:(?P.*)\n(?:Technical Contact State/Province:(?P.*)\n)?Technical Contact Postal Code:(?P.*)\nTechnical Contact Country:(?P.*)\nTechnical Contact Country Code:.*\nTechnical Contact Phone Number:(?P.*)\n(?:Technical Contact Facsimile Number:(?P.*)\n)?Technical Contact Email:(?P.*)", # .US, .biz (NeuStar) + "Technical Contacts\n Name: (?P.+)\n(?: Organization: (?P.+)\n)? ContactID: (?P.+)\n(?: Address: (?P.+)\n(?: (?P.+)\n(?: (?P.+)\n)?)? (?P.+)\n (?P.+)\n (?P.+)\n (?P.+)\n)?(?: Created: (?P.+)\n)?(?: Last Update: (?P.+)\n)?", # nic.it // NOTE: Why does this say 'Contacts'? Can it have multiple? "Tech Name[.]* (?P.*)\n Tech Address[.]* (?P.*)\n Tech Address[.]* (?P.*)\n(?: Tech Address[.]* (?P.*)\n)? Tech Address[.]* (?P.*)\n Tech Address[.]* (?P.*)\n Tech Address[.]* (?P.*)\n Tech Address[.]* (?P.*)\n Tech Email[.]* (?P.*)\n Tech Phone[.]* (?P.*)\n Tech Fax[.]* (?P.*)", # Melbourne IT "Technical contact:\n(?: (?P.+)\n)? (?P.+)\n (?P.+)\n (?P.+)\n (?P.+), (?P.+) (?P.+) (?P.+)\n Phone: (?P.*)\n Fax: (?P.*)\n", # Fabulous.com "tech-c-name:\s*(?P.+)\ntech-c-type:\s*(?P.+)\ntech-c-address:\s*(?P.+)\ntech-c-postcode:\s*(?P.+)\ntech-c-city:\s*(?P.+)\ntech-c-country:\s*(?P.+)\n(?:tech-c-phone:\s*(?P.+)\n)?(?:tech-c-email:\s*(?P.+)\n)?", # Hetzner @@ -575,6 +581,7 @@ def parse_registrants(data): "admin-id:[ ]*(?P.*)\n(?:admin-organization:[ ]*(?P.*)\n)?admin-name:[ ]*(?P.*)\nadmin-street:[ ]*(?P.*)\nadmin-city:[ ]*(?P.*)\nadmin-zip:[ ]*(?P.*)\nadmin-country:[ ]*(?P.*)\n(?:admin-phone:[ ]*(?P.*)\n)?(?:admin-fax:[ ]*(?P.*)\n)?admin-email:[ ]*(?P.*)", # InterNetworX "Administrative Contact:\n admin_org: (?P.*)\n admin_name: (?P.*)\n admin_email: (?P.*)\n admin_address: (?P
.*)\n admin_city: (?P.*)\n admin_state: (?P.*)\n admin_zip: (?P.*)\n admin_country: (?P.*)\n admin_phone: (?P.*)", # Bellnames "Administrative Contact ID:(?P.*)\nAdministrative Contact Name:(?P.*)\n(?:Administrative Contact Organization:(?P.*)\n)?Administrative Contact Address1:(?P.*)\n(?:Administrative Contact Address2:(?P.*)\n)?(?:Administrative Contact Address3:(?P.*)\n)?Administrative Contact City:(?P.*)\n(?:Administrative Contact State/Province:(?P.*)\n)?Administrative Contact Postal Code:(?P.*)\nAdministrative Contact Country:(?P.*)\nAdministrative Contact Country Code:.*\nAdministrative Contact Phone Number:(?P.*)\n(?:Administrative Contact Facsimile Number:(?P.*)\n)?Administrative Contact Email:(?P.*)", # .US, .biz (NeuStar) + "Admin Contact\n Name: (?P.+)\n(?: Organization: (?P.+)\n)? ContactID: (?P.+)\n(?: Address: (?P.+)\n(?: (?P.+)\n(?: (?P.+)\n)?)? (?P.+)\n (?P.+)\n (?P.+)\n (?P.+)\n)?(?: Created: (?P.+)\n)?(?: Last Update: (?P.+)\n)?", # nic.it "Admin Name[.]* (?P.*)\n Admin Address[.]* (?P.*)\n Admin Address[.]* (?P.*)\n(?: Admin Address[.]* (?P.*)\n)? Admin Address[.]* (?P.*)\n Admin Address[.]* (?P.*)\n Admin Address[.]* (?P.*)\n Admin Address[.]* (?P.*)\n Admin Email[.]* (?P.*)\n Admin Phone[.]* (?P.*)\n Admin Fax[.]* (?P.*)", # Melbourne IT "Administrative contact:\n(?: (?P.+)\n)? (?P.+)\n (?P.+)\n (?P.+)\n (?P.+), (?P.+) (?P.+) (?P.+)\n Phone: (?P.*)\n Fax: (?P.*)\n", # Fabulous.com "admin-c-name:\s*(?P.+)\nadmin-c-type:\s*(?P.+)\nadmin-c-address:\s*(?P.+)\nadmin-c-postcode:\s*(?P.+)\nadmin-c-city:\s*(?P.+)\nadmin-c-country:\s*(?P.+)\n(?:admin-c-phone:\s*(?P.+)\n)?(?:admin-c-email:\s*(?P.+)\n)?", # Hetzner diff --git a/test/data/google.it b/test/data/google.it new file mode 100644 index 0000000..7406b6f --- /dev/null +++ b/test/data/google.it @@ -0,0 +1,63 @@ + +********************************************************************* +* Please note that the following result could be a subgroup of * +* the data contained in the database. * +* * +* Additional information can be visualized at: * +* http://www.nic.it/cgi-bin/Whois/whois.cgi * +********************************************************************* + +Domain: google.it +Status: ok +Created: 1999-12-10 00:00:00 +Last Update: 2014-05-07 00:52:45 +Expire Date: 2015-04-21 + +Registrant + Name: Google Ireland Holdings + Organization: Google Ireland Holdings + ContactID: DUP430692088 + Address: 70 Sir John Rogersons Quay + Dublin + 2 + IE + IE + Created: 2013-04-21 01:05:35 + Last Update: 2013-04-21 01:05:35 + +Admin Contact + Name: Tsao Tu + Organization: Tu Tsao + ContactID: DUP142437129 + Address: 70 Sir John Rogersons Quay + Dublin + 2 + IE + IE + Created: 2013-04-21 01:05:35 + Last Update: 2013-04-21 01:05:35 + +Technical Contacts + Name: Google Ireland Holdings + Organization: Google Ireland Holdings + ContactID: DUP430692088 + Address: 70 Sir John Rogersons Quay + Dublin + 2 + IE + IE + Created: 2013-04-21 01:05:35 + Last Update: 2013-04-21 01:05:35 + +Registrar + Organization: MarkMonitor International Limited + Name: MARKMONITOR-REG + Web: https://www.markmonitor.com/ + +Nameservers + ns1.google.com + ns4.google.com + ns2.google.com + ns3.google.com + + diff --git a/test/data/redd.it b/test/data/redd.it new file mode 100644 index 0000000..b526888 --- /dev/null +++ b/test/data/redd.it @@ -0,0 +1,48 @@ + +********************************************************************* +* Please note that the following result could be a subgroup of * +* the data contained in the database. * +* * +* Additional information can be visualized at: * +* http://www.nic.it/cgi-bin/Whois/whois.cgi * +********************************************************************* + +Domain: redd.it +Status: ok +Created: 2010-05-31 09:49:27 +Last Update: 2013-09-22 00:52:31 +Expire Date: 2014-09-22 + +Registrant + Name: Corporation Service Company France + Organization: Corporation Service Company France + ContactID: DUP181111842 + Address: 68, rue du faubourg Saint Honore + Paris + 75008 + Paris + FR + Created: 2013-09-22 00:44:16 + Last Update: 2013-09-22 00:44:16 + +Admin Contact + Name: GANDI CORPORATE + Organization: GANDI CORPORATE + ContactID: C4195-GANDI-EQUL + +Technical Contacts + Name: Domain Administrator + Organization: Reddit Inc + ContactID: R3511-GANDI-HIRR + +Registrar + Organization: Gandi SAS + Name: GANDI-REG + Web: http://www.gandi.net + +Nameservers + c.dns.gandi.net + a.dns.gandi.net + b.dns.gandi.net + + diff --git a/test/data/tip.it b/test/data/tip.it new file mode 100644 index 0000000..0029fd0 --- /dev/null +++ b/test/data/tip.it @@ -0,0 +1,46 @@ + +********************************************************************* +* Please note that the following result could be a subgroup of * +* the data contained in the database. * +* * +* Additional information can be visualized at: * +* http://www.nic.it/cgi-bin/Whois/whois.cgi * +********************************************************************* + +Domain: tip.it +Status: ok +Created: 1997-09-26 00:00:00 +Last Update: 2013-10-16 00:43:15 +Expire Date: 2014-09-30 + +Registrant + Name: Sandro Fanelli + Organization: Sandro Fanelli + ContactID: SF3221 + +Admin Contact + Name: Sandro Fanelli + Organization: Sandro Fanelli + ContactID: SF3221 + +Technical Contacts + Name: Technical Support + Organization: Register.it S.p.A. + ContactID: 2409-REGT + Address: Via Zanchi 22 + Bergamo + 24126 + BG + IT + Created: 2009-09-28 11:01:09 + Last Update: 2012-04-27 15:13:45 + +Registrar + Organization: Register.it s.p.a. + Name: REGISTER-REG + +Nameservers + ns1.softlayer.com + ns2.softlayer.com + + diff --git a/test/data/yahoo.it b/test/data/yahoo.it new file mode 100644 index 0000000..877fc59 --- /dev/null +++ b/test/data/yahoo.it @@ -0,0 +1,63 @@ + +********************************************************************* +* Please note that the following result could be a subgroup of * +* the data contained in the database. * +* * +* Additional information can be visualized at: * +* http://www.nic.it/cgi-bin/Whois/whois.cgi * +********************************************************************* + +Domain: yahoo.it +Status: ok +Created: 1998-05-11 00:00:00 +Last Update: 2013-12-06 00:48:58 +Expire Date: 2014-11-20 + +Registrant + Name: Yahoo! Italia S.r.l. + Organization: Yahoo! Italia S.r.l. + ContactID: DUP211874838 + Address: via Spadolini 7 + Milano + 20141 + MI + IT + Created: 2012-11-02 07:30:15 + Last Update: 2012-11-02 07:30:15 + +Admin Contact + Name: Martini Massimo Ernesto Aldo + ContactID: DUP975799853 + Address: via Spadolini 7 + Milano + 20141 + MI + IT + Created: 2012-11-02 07:30:15 + Last Update: 2012-11-02 07:30:15 + +Technical Contacts + Name: Yahoo Inc + ContactID: DUP285050789 + Address: Domain Administrator + 701 First Avenue + Sunnyvale + 94089 + CALIFORNIA + US + Created: 2012-11-02 07:30:16 + Last Update: 2012-11-02 07:30:16 + +Registrar + Organization: MarkMonitor International Limited + Name: MARKMONITOR-REG + Web: https://www.markmonitor.com/ + +Nameservers + ns1.yahoo.com + ns5.yahoo.com + ns7.yahoo.com + ns2.yahoo.com + ns3.yahoo.com + + diff --git a/test/target_default/google.it b/test/target_default/google.it new file mode 100644 index 0000000..c357a44 --- /dev/null +++ b/test/target_default/google.it @@ -0,0 +1 @@ +{"status": ["ok"], "updated_date": ["2014-05-07T00:52:45", "2013-04-21T01:05:35"], "contacts": {"admin": {"city": "Dublin", "handle": "DUP142437129", "name": "Tsao Tu", "state": "IE", "street": "70 Sir John Rogersons Quay", "country": "IE", "postalcode": "2", "organization": "Tu Tsao", "creationdate": "2013-04-21 01:05:35", "changedate": "2013-04-21T01:05:35"}, "tech": {"city": "Dublin", "handle": "DUP430692088", "name": "Google Ireland Holdings", "state": "IE", "street": "70 Sir John Rogersons Quay", "country": "IE", "postalcode": "2", "organization": "Google Ireland Holdings", "creationdate": "2013-04-21 01:05:35", "changedate": "2013-04-21T01:05:35"}, "registrant": {"city": "Dublin", "handle": "DUP430692088", "name": "Google Ireland Holdings", "state": "IE", "street": "70 Sir John Rogersons Quay", "country": "IE", "postalcode": "2", "organization": "Google Ireland Holdings", "creationdate": "2013-04-21 01:05:35", "changedate": "2013-04-21T01:05:35"}, "billing": null}, "nameservers": ["ns1.google.com", "ns4.google.com", "ns2.google.com", "ns3.google.com"], "expiration_date": ["2015-04-21T00:00:00"], "creation_date": ["1999-12-10T00:00:00", "2013-04-21T01:05:35"], "raw": ["\n*********************************************************************\n* Please note that the following result could be a subgroup of *\n* the data contained in the database. *\n* *\n* Additional information can be visualized at: *\n* http://www.nic.it/cgi-bin/Whois/whois.cgi *\n*********************************************************************\n\nDomain: google.it\nStatus: ok\nCreated: 1999-12-10 00:00:00\nLast Update: 2014-05-07 00:52:45\nExpire Date: 2015-04-21\n\nRegistrant\n Name: Google Ireland Holdings\n Organization: Google Ireland Holdings\n ContactID: DUP430692088\n Address: 70 Sir John Rogersons Quay\n Dublin\n 2\n IE\n IE\n Created: 2013-04-21 01:05:35\n Last Update: 2013-04-21 01:05:35\n\nAdmin Contact\n Name: Tsao Tu\n Organization: Tu Tsao\n ContactID: DUP142437129\n Address: 70 Sir John Rogersons Quay\n Dublin\n 2\n IE\n IE\n Created: 2013-04-21 01:05:35\n Last Update: 2013-04-21 01:05:35\n\nTechnical Contacts\n Name: Google Ireland Holdings\n Organization: Google Ireland Holdings\n ContactID: DUP430692088\n Address: 70 Sir John Rogersons Quay\n Dublin\n 2\n IE\n IE\n Created: 2013-04-21 01:05:35\n Last Update: 2013-04-21 01:05:35\n\nRegistrar\n Organization: MarkMonitor International Limited\n Name: MARKMONITOR-REG\n Web: https://www.markmonitor.com/\n\nNameservers\n ns1.google.com\n ns4.google.com\n ns2.google.com\n ns3.google.com\n\n\n"], "registrar": ["MarkMonitor International Limited"]} \ No newline at end of file diff --git a/test/target_default/redd.it b/test/target_default/redd.it new file mode 100644 index 0000000..2c1e548 --- /dev/null +++ b/test/target_default/redd.it @@ -0,0 +1 @@ +{"status": ["ok"], "updated_date": ["2013-09-22T00:52:31", "2013-09-22T00:44:16"], "contacts": {"admin": {"handle": "C4195-GANDI-EQUL", "name": "GANDI CORPORATE", "organization": "GANDI CORPORATE"}, "tech": {"handle": "R3511-GANDI-HIRR", "name": "Domain Administrator", "organization": "Reddit Inc"}, "registrant": {"city": "Paris", "handle": "DUP181111842", "name": "Corporation Service Company France", "state": "Paris", "street": "68, rue du faubourg Saint Honore", "country": "FR", "postalcode": "75008", "organization": "Corporation Service Company France", "creationdate": "2013-09-22 00:44:16", "changedate": "2013-09-22T00:44:16"}, "billing": null}, "nameservers": ["c.dns.gandi.net", "a.dns.gandi.net", "b.dns.gandi.net"], "expiration_date": ["2014-09-22T00:00:00"], "creation_date": ["2010-05-31T09:49:27", "2013-09-22T00:44:16"], "raw": ["\n*********************************************************************\n* Please note that the following result could be a subgroup of *\n* the data contained in the database. *\n* *\n* Additional information can be visualized at: *\n* http://www.nic.it/cgi-bin/Whois/whois.cgi *\n*********************************************************************\n\nDomain: redd.it\nStatus: ok\nCreated: 2010-05-31 09:49:27\nLast Update: 2013-09-22 00:52:31\nExpire Date: 2014-09-22\n\nRegistrant\n Name: Corporation Service Company France\n Organization: Corporation Service Company France\n ContactID: DUP181111842\n Address: 68, rue du faubourg Saint Honore\n Paris\n 75008\n Paris\n FR\n Created: 2013-09-22 00:44:16\n Last Update: 2013-09-22 00:44:16\n\nAdmin Contact\n Name: GANDI CORPORATE\n Organization: GANDI CORPORATE\n ContactID: C4195-GANDI-EQUL\n\nTechnical Contacts\n Name: Domain Administrator\n Organization: Reddit Inc\n ContactID: R3511-GANDI-HIRR\n\nRegistrar\n Organization: Gandi SAS\n Name: GANDI-REG\n Web: http://www.gandi.net\n\nNameservers\n c.dns.gandi.net\n a.dns.gandi.net\n b.dns.gandi.net\n\n\n"], "registrar": ["Gandi SAS"]} \ No newline at end of file diff --git a/test/target_default/tip.it b/test/target_default/tip.it new file mode 100644 index 0000000..364a93b --- /dev/null +++ b/test/target_default/tip.it @@ -0,0 +1 @@ +{"status": ["ok"], "updated_date": ["2013-10-16T00:43:15", "2012-04-27T15:13:45"], "contacts": {"admin": {"handle": "SF3221", "name": "Sandro Fanelli", "organization": "Sandro Fanelli"}, "tech": {"city": "Bergamo", "handle": "2409-REGT", "name": "Technical Support", "state": "BG", "street": "Via Zanchi 22", "country": "IT", "postalcode": "24126", "organization": "Register.it S.p.A.", "creationdate": "2009-09-28 11:01:09", "changedate": "2012-04-27T15:13:45"}, "registrant": {"handle": "SF3221", "name": "Sandro Fanelli", "organization": "Sandro Fanelli"}, "billing": null}, "nameservers": ["ns1.softlayer.com", "ns2.softlayer.com"], "expiration_date": ["2014-09-30T00:00:00"], "creation_date": ["1997-09-26T00:00:00", "2009-09-28T11:01:09"], "raw": ["\n*********************************************************************\n* Please note that the following result could be a subgroup of *\n* the data contained in the database. *\n* *\n* Additional information can be visualized at: *\n* http://www.nic.it/cgi-bin/Whois/whois.cgi *\n*********************************************************************\n\nDomain: tip.it\nStatus: ok\nCreated: 1997-09-26 00:00:00\nLast Update: 2013-10-16 00:43:15\nExpire Date: 2014-09-30\n\nRegistrant\n Name: Sandro Fanelli\n Organization: Sandro Fanelli\n ContactID: SF3221\n\nAdmin Contact\n Name: Sandro Fanelli\n Organization: Sandro Fanelli\n ContactID: SF3221\n\nTechnical Contacts\n Name: Technical Support\n Organization: Register.it S.p.A.\n ContactID: 2409-REGT\n Address: Via Zanchi 22\n Bergamo\n 24126\n BG\n IT\n Created: 2009-09-28 11:01:09\n Last Update: 2012-04-27 15:13:45\n\nRegistrar\n Organization: Register.it s.p.a.\n Name: REGISTER-REG\n\nNameservers\n ns1.softlayer.com\n ns2.softlayer.com\n\n\n"], "registrar": ["Register.it s.p.a."]} \ No newline at end of file diff --git a/test/target_default/yahoo.it b/test/target_default/yahoo.it new file mode 100644 index 0000000..237c865 --- /dev/null +++ b/test/target_default/yahoo.it @@ -0,0 +1 @@ +{"status": ["ok"], "updated_date": ["2013-12-06T00:48:58", "2012-11-02T07:30:15", "2012-11-02T07:30:16"], "contacts": {"admin": {"city": "Milano", "handle": "DUP975799853", "name": "Martini Massimo Ernesto Aldo", "state": "MI", "street": "via Spadolini 7", "country": "IT", "postalcode": "20141", "creationdate": "2012-11-02 07:30:15", "changedate": "2012-11-02T07:30:15"}, "tech": {"city": "Sunnyvale", "handle": "DUP285050789", "name": "Yahoo Inc", "state": "CALIFORNIA", "street": "Domain Administrator\n701 First Avenue", "country": "US", "postalcode": "94089", "creationdate": "2012-11-02 07:30:16", "changedate": "2012-11-02T07:30:16"}, "registrant": {"city": "Milano", "handle": "DUP211874838", "name": "Yahoo! Italia S.r.l.", "state": "MI", "street": "via Spadolini 7", "country": "IT", "postalcode": "20141", "organization": "Yahoo! Italia S.r.l.", "creationdate": "2012-11-02 07:30:15", "changedate": "2012-11-02T07:30:15"}, "billing": null}, "nameservers": ["ns1.yahoo.com", "ns5.yahoo.com", "ns7.yahoo.com", "ns2.yahoo.com", "ns3.yahoo.com"], "expiration_date": ["2014-11-20T00:00:00"], "creation_date": ["1998-05-11T00:00:00", "2012-11-02T07:30:15", "2012-11-02T07:30:16"], "raw": ["\n*********************************************************************\n* Please note that the following result could be a subgroup of *\n* the data contained in the database. *\n* *\n* Additional information can be visualized at: *\n* http://www.nic.it/cgi-bin/Whois/whois.cgi *\n*********************************************************************\n\nDomain: yahoo.it\nStatus: ok\nCreated: 1998-05-11 00:00:00\nLast Update: 2013-12-06 00:48:58\nExpire Date: 2014-11-20\n\nRegistrant\n Name: Yahoo! Italia S.r.l.\n Organization: Yahoo! Italia S.r.l.\n ContactID: DUP211874838\n Address: via Spadolini 7\n Milano\n 20141\n MI\n IT\n Created: 2012-11-02 07:30:15\n Last Update: 2012-11-02 07:30:15\n\nAdmin Contact\n Name: Martini Massimo Ernesto Aldo\n ContactID: DUP975799853\n Address: via Spadolini 7\n Milano\n 20141\n MI\n IT\n Created: 2012-11-02 07:30:15\n Last Update: 2012-11-02 07:30:15\n\nTechnical Contacts\n Name: Yahoo Inc\n ContactID: DUP285050789\n Address: Domain Administrator\n 701 First Avenue\n Sunnyvale\n 94089\n CALIFORNIA\n US\n Created: 2012-11-02 07:30:16\n Last Update: 2012-11-02 07:30:16\n\nRegistrar\n Organization: MarkMonitor International Limited\n Name: MARKMONITOR-REG\n Web: https://www.markmonitor.com/\n\nNameservers\n ns1.yahoo.com\n ns5.yahoo.com\n ns7.yahoo.com\n ns2.yahoo.com\n ns3.yahoo.com\n\n\n"], "registrar": ["MarkMonitor International Limited"]} \ No newline at end of file diff --git a/test/target_normalized/google.it b/test/target_normalized/google.it new file mode 100644 index 0000000..c357a44 --- /dev/null +++ b/test/target_normalized/google.it @@ -0,0 +1 @@ +{"status": ["ok"], "updated_date": ["2014-05-07T00:52:45", "2013-04-21T01:05:35"], "contacts": {"admin": {"city": "Dublin", "handle": "DUP142437129", "name": "Tsao Tu", "state": "IE", "street": "70 Sir John Rogersons Quay", "country": "IE", "postalcode": "2", "organization": "Tu Tsao", "creationdate": "2013-04-21 01:05:35", "changedate": "2013-04-21T01:05:35"}, "tech": {"city": "Dublin", "handle": "DUP430692088", "name": "Google Ireland Holdings", "state": "IE", "street": "70 Sir John Rogersons Quay", "country": "IE", "postalcode": "2", "organization": "Google Ireland Holdings", "creationdate": "2013-04-21 01:05:35", "changedate": "2013-04-21T01:05:35"}, "registrant": {"city": "Dublin", "handle": "DUP430692088", "name": "Google Ireland Holdings", "state": "IE", "street": "70 Sir John Rogersons Quay", "country": "IE", "postalcode": "2", "organization": "Google Ireland Holdings", "creationdate": "2013-04-21 01:05:35", "changedate": "2013-04-21T01:05:35"}, "billing": null}, "nameservers": ["ns1.google.com", "ns4.google.com", "ns2.google.com", "ns3.google.com"], "expiration_date": ["2015-04-21T00:00:00"], "creation_date": ["1999-12-10T00:00:00", "2013-04-21T01:05:35"], "raw": ["\n*********************************************************************\n* Please note that the following result could be a subgroup of *\n* the data contained in the database. *\n* *\n* Additional information can be visualized at: *\n* http://www.nic.it/cgi-bin/Whois/whois.cgi *\n*********************************************************************\n\nDomain: google.it\nStatus: ok\nCreated: 1999-12-10 00:00:00\nLast Update: 2014-05-07 00:52:45\nExpire Date: 2015-04-21\n\nRegistrant\n Name: Google Ireland Holdings\n Organization: Google Ireland Holdings\n ContactID: DUP430692088\n Address: 70 Sir John Rogersons Quay\n Dublin\n 2\n IE\n IE\n Created: 2013-04-21 01:05:35\n Last Update: 2013-04-21 01:05:35\n\nAdmin Contact\n Name: Tsao Tu\n Organization: Tu Tsao\n ContactID: DUP142437129\n Address: 70 Sir John Rogersons Quay\n Dublin\n 2\n IE\n IE\n Created: 2013-04-21 01:05:35\n Last Update: 2013-04-21 01:05:35\n\nTechnical Contacts\n Name: Google Ireland Holdings\n Organization: Google Ireland Holdings\n ContactID: DUP430692088\n Address: 70 Sir John Rogersons Quay\n Dublin\n 2\n IE\n IE\n Created: 2013-04-21 01:05:35\n Last Update: 2013-04-21 01:05:35\n\nRegistrar\n Organization: MarkMonitor International Limited\n Name: MARKMONITOR-REG\n Web: https://www.markmonitor.com/\n\nNameservers\n ns1.google.com\n ns4.google.com\n ns2.google.com\n ns3.google.com\n\n\n"], "registrar": ["MarkMonitor International Limited"]} \ No newline at end of file diff --git a/test/target_normalized/redd.it b/test/target_normalized/redd.it new file mode 100644 index 0000000..d1fac6a --- /dev/null +++ b/test/target_normalized/redd.it @@ -0,0 +1 @@ +{"status": ["ok"], "updated_date": ["2013-09-22T00:52:31", "2013-09-22T00:44:16"], "contacts": {"admin": {"handle": "C4195-GANDI-EQUL", "name": "Gandi Corporate", "organization": "Gandi Corporate"}, "tech": {"handle": "R3511-GANDI-HIRR", "name": "Domain Administrator", "organization": "Reddit Inc"}, "registrant": {"city": "Paris", "handle": "DUP181111842", "name": "Corporation Service Company France", "state": "Paris", "street": "68, rue du faubourg Saint Honore", "country": "FR", "postalcode": "75008", "organization": "Corporation Service Company France", "creationdate": "2013-09-22 00:44:16", "changedate": "2013-09-22T00:44:16"}, "billing": null}, "nameservers": ["c.dns.gandi.net", "a.dns.gandi.net", "b.dns.gandi.net"], "expiration_date": ["2014-09-22T00:00:00"], "creation_date": ["2010-05-31T09:49:27", "2013-09-22T00:44:16"], "raw": ["\n*********************************************************************\n* Please note that the following result could be a subgroup of *\n* the data contained in the database. *\n* *\n* Additional information can be visualized at: *\n* http://www.nic.it/cgi-bin/Whois/whois.cgi *\n*********************************************************************\n\nDomain: redd.it\nStatus: ok\nCreated: 2010-05-31 09:49:27\nLast Update: 2013-09-22 00:52:31\nExpire Date: 2014-09-22\n\nRegistrant\n Name: Corporation Service Company France\n Organization: Corporation Service Company France\n ContactID: DUP181111842\n Address: 68, rue du faubourg Saint Honore\n Paris\n 75008\n Paris\n FR\n Created: 2013-09-22 00:44:16\n Last Update: 2013-09-22 00:44:16\n\nAdmin Contact\n Name: GANDI CORPORATE\n Organization: GANDI CORPORATE\n ContactID: C4195-GANDI-EQUL\n\nTechnical Contacts\n Name: Domain Administrator\n Organization: Reddit Inc\n ContactID: R3511-GANDI-HIRR\n\nRegistrar\n Organization: Gandi SAS\n Name: GANDI-REG\n Web: http://www.gandi.net\n\nNameservers\n c.dns.gandi.net\n a.dns.gandi.net\n b.dns.gandi.net\n\n\n"], "registrar": ["Gandi SAS"]} \ No newline at end of file diff --git a/test/target_normalized/tip.it b/test/target_normalized/tip.it new file mode 100644 index 0000000..364a93b --- /dev/null +++ b/test/target_normalized/tip.it @@ -0,0 +1 @@ +{"status": ["ok"], "updated_date": ["2013-10-16T00:43:15", "2012-04-27T15:13:45"], "contacts": {"admin": {"handle": "SF3221", "name": "Sandro Fanelli", "organization": "Sandro Fanelli"}, "tech": {"city": "Bergamo", "handle": "2409-REGT", "name": "Technical Support", "state": "BG", "street": "Via Zanchi 22", "country": "IT", "postalcode": "24126", "organization": "Register.it S.p.A.", "creationdate": "2009-09-28 11:01:09", "changedate": "2012-04-27T15:13:45"}, "registrant": {"handle": "SF3221", "name": "Sandro Fanelli", "organization": "Sandro Fanelli"}, "billing": null}, "nameservers": ["ns1.softlayer.com", "ns2.softlayer.com"], "expiration_date": ["2014-09-30T00:00:00"], "creation_date": ["1997-09-26T00:00:00", "2009-09-28T11:01:09"], "raw": ["\n*********************************************************************\n* Please note that the following result could be a subgroup of *\n* the data contained in the database. *\n* *\n* Additional information can be visualized at: *\n* http://www.nic.it/cgi-bin/Whois/whois.cgi *\n*********************************************************************\n\nDomain: tip.it\nStatus: ok\nCreated: 1997-09-26 00:00:00\nLast Update: 2013-10-16 00:43:15\nExpire Date: 2014-09-30\n\nRegistrant\n Name: Sandro Fanelli\n Organization: Sandro Fanelli\n ContactID: SF3221\n\nAdmin Contact\n Name: Sandro Fanelli\n Organization: Sandro Fanelli\n ContactID: SF3221\n\nTechnical Contacts\n Name: Technical Support\n Organization: Register.it S.p.A.\n ContactID: 2409-REGT\n Address: Via Zanchi 22\n Bergamo\n 24126\n BG\n IT\n Created: 2009-09-28 11:01:09\n Last Update: 2012-04-27 15:13:45\n\nRegistrar\n Organization: Register.it s.p.a.\n Name: REGISTER-REG\n\nNameservers\n ns1.softlayer.com\n ns2.softlayer.com\n\n\n"], "registrar": ["Register.it s.p.a."]} \ No newline at end of file diff --git a/test/target_normalized/yahoo.it b/test/target_normalized/yahoo.it new file mode 100644 index 0000000..07f0990 --- /dev/null +++ b/test/target_normalized/yahoo.it @@ -0,0 +1 @@ +{"status": ["ok"], "updated_date": ["2013-12-06T00:48:58", "2012-11-02T07:30:15", "2012-11-02T07:30:16"], "contacts": {"admin": {"city": "Milano", "handle": "DUP975799853", "name": "Martini Massimo Ernesto Aldo", "state": "MI", "street": "via Spadolini 7", "country": "IT", "postalcode": "20141", "creationdate": "2012-11-02 07:30:15", "changedate": "2012-11-02T07:30:15"}, "tech": {"city": "Sunnyvale", "handle": "DUP285050789", "name": "Yahoo Inc", "state": "California", "street": "Domain Administrator\n701 First Avenue", "country": "US", "postalcode": "94089", "creationdate": "2012-11-02 07:30:16", "changedate": "2012-11-02T07:30:16"}, "registrant": {"city": "Milano", "handle": "DUP211874838", "name": "Yahoo! Italia S.r.l.", "state": "MI", "street": "via Spadolini 7", "country": "IT", "postalcode": "20141", "organization": "Yahoo! Italia S.r.l.", "creationdate": "2012-11-02 07:30:15", "changedate": "2012-11-02T07:30:15"}, "billing": null}, "nameservers": ["ns1.yahoo.com", "ns5.yahoo.com", "ns7.yahoo.com", "ns2.yahoo.com", "ns3.yahoo.com"], "expiration_date": ["2014-11-20T00:00:00"], "creation_date": ["1998-05-11T00:00:00", "2012-11-02T07:30:15", "2012-11-02T07:30:16"], "raw": ["\n*********************************************************************\n* Please note that the following result could be a subgroup of *\n* the data contained in the database. *\n* *\n* Additional information can be visualized at: *\n* http://www.nic.it/cgi-bin/Whois/whois.cgi *\n*********************************************************************\n\nDomain: yahoo.it\nStatus: ok\nCreated: 1998-05-11 00:00:00\nLast Update: 2013-12-06 00:48:58\nExpire Date: 2014-11-20\n\nRegistrant\n Name: Yahoo! Italia S.r.l.\n Organization: Yahoo! Italia S.r.l.\n ContactID: DUP211874838\n Address: via Spadolini 7\n Milano\n 20141\n MI\n IT\n Created: 2012-11-02 07:30:15\n Last Update: 2012-11-02 07:30:15\n\nAdmin Contact\n Name: Martini Massimo Ernesto Aldo\n ContactID: DUP975799853\n Address: via Spadolini 7\n Milano\n 20141\n MI\n IT\n Created: 2012-11-02 07:30:15\n Last Update: 2012-11-02 07:30:15\n\nTechnical Contacts\n Name: Yahoo Inc\n ContactID: DUP285050789\n Address: Domain Administrator\n 701 First Avenue\n Sunnyvale\n 94089\n CALIFORNIA\n US\n Created: 2012-11-02 07:30:16\n Last Update: 2012-11-02 07:30:16\n\nRegistrar\n Organization: MarkMonitor International Limited\n Name: MARKMONITOR-REG\n Web: https://www.markmonitor.com/\n\nNameservers\n ns1.yahoo.com\n ns5.yahoo.com\n ns7.yahoo.com\n ns2.yahoo.com\n ns3.yahoo.com\n\n\n"], "registrar": ["MarkMonitor International Limited"]} \ No newline at end of file