Memcache WHOIS and DNS lookups
authorJohn Dong <jdong@mit.edu>
Fri, 31 Aug 2007 14:43:57 +0000 (10:43 -0400)
committerJohn Dong <jdong@mit.edu>
Fri, 31 Aug 2007 14:43:57 +0000 (10:43 -0400)
app/views/quickvote/list_voters.rhtml

index 795ab4507fc41d9e14a8776ba90b512eb21f7a70..1672499f0a3b38af7fe185ee5e750e4a5b703667 100644 (file)
             /^192\.168/ or voter.ipaddress =~ /^10\./ or voter.ipaddress =~ /^169\.254/ or
             voter.ipaddress =~ /^172\.[1-3]/
             %>
-        <% w= Whois::Whois.new(IPAddr.new(voter.ipaddress),true)%>
+            <% w=nil
+            if Cache and w=Cache.get("WHOIS:#{voter.ipaddress}")
+            elsif Cache
+              w= Whois::Whois.new(IPAddr.new(voter.ipaddress),true)
+              w.search_whois
+              Cache.set("WHOIS:#{voter.ipaddress}", w)
+            else
+              w= Whois::Whois.new(IPAddr.new(voter.ipaddress),true)
+              w.search_whois
+            end
+            
+            %>
         <%=h((w.host == nil or w.host.empty?) ? voter.ipaddress : w.host)%>
       </td>
       <td>
-        <%w.search_whois%>
         <%=h (w.all.grep(/^(OrgName|org-name)/)[0] or "").sub(/^(OrgName|org-name)\:/,'').strip -%> - <%=  (w.all.grep(/^(NetName|netname)/)[0] or "").sub(/^(NetName|netname)\:/,'').strip %>
 
     <% rescue ArgumentError => err %>

Benjamin Mako Hill || Want to submit a patch?