From dbd22b39b9a66b48305b30e9cc7b739492cf0eb7 Mon Sep 17 00:00:00 2001 From: Marcel Dopita Date: Mon, 23 Sep 2013 15:20:21 +0200 Subject: [PATCH 1/2] Fix listing of organisations/networks with same name --- netlist.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/netlist.rb b/netlist.rb index 3377e3e..0a96044 100644 --- a/netlist.rb +++ b/netlist.rb @@ -12,7 +12,7 @@ begin org_search_results = JSON.parse(org_search_results) org_search_results["orgs"]["orgRef"].each do |org| - orgs[org["@name"]] = {:handle => org["@handle"] } + orgs[org["@handle"]] = {:name => org["@name"] } end rescue "" @@ -23,12 +23,12 @@ orgs.each do |org, info| orgs[org][:nets] = {} - nets_search_results = Subexec.run("curl -s -H \"Accept: application/json\" \"http://whois.arin.net/rest/org/#{info[:handle]}/nets\"").output + nets_search_results = Subexec.run("curl -s -H \"Accept: application/json\" \"http://whois.arin.net/rest/org/#{org}/nets\"").output begin nets_search_results = JSON.parse(nets_search_results) nets_search_results["nets"]["netRef"] = [nets_search_results["nets"]["netRef"]] if nets_search_results["nets"]["netRef"].class != Array nets_search_results["nets"]["netRef"].each do |info| - orgs[org][:nets][info["@name"]] = { :start => info["@startAddress"], :end => info["@endAddress"] } + orgs[org][:nets][info["@handle"]] = { :start => info["@startAddress"], :end => info["@endAddress"] } end rescue "" @@ -36,7 +36,7 @@ end orgs.each do |k, v| - puts "----- #{k} (#{v[:handle]}) -----" + puts "----- #{v[:name]} (#{k}) -----" v[:nets].each do |netk, netv| puts "\n* #{netk}\n #{netv[:start]} - #{netv[:end]}\n" end From 48e95924b38dc754df7b1c293f88af2c6ec1d7d4 Mon Sep 17 00:00:00 2001 From: Marcel Dopita Date: Fri, 27 Sep 2013 13:32:16 +0200 Subject: [PATCH 2/2] Fix parsing of single organisation returned in search --- netlist.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/netlist.rb b/netlist.rb index 0a96044..d495f98 100644 --- a/netlist.rb +++ b/netlist.rb @@ -11,8 +11,10 @@ org_search_results = Subexec.run("curl -s -H \"Accept: application/json\" \"http://whois.arin.net/rest/orgs;name=#{target_org}*\"").output begin org_search_results = JSON.parse(org_search_results) - org_search_results["orgs"]["orgRef"].each do |org| - orgs[org["@handle"]] = {:name => org["@name"] } + results = org_search_results["orgs"]["orgRef"] + results = [results] if results.kind_of? Hash + results.each do |org| + orgs[org["@handle"]] = {:name => org["@name"] } end rescue ""