]> projects.mako.cc - selectricity-live/commitdiff
Merged from John's branch, includs a lot of IP lookup libraries.
author<jlsharps@mit.edu> <>
Thu, 16 Aug 2007 21:09:46 +0000 (17:09 -0400)
committer<jlsharps@mit.edu> <>
Thu, 16 Aug 2007 21:09:46 +0000 (17:09 -0400)
1  2 
app/views/quickvote/results.rhtml

index cba32d08f66761ffad948f64a949e0feb884505f,f53bf3f05be99ee3ef7ad6f543f3dd82fae05454..24a9beb7f77f613a131ad493571e3918939edd58
@@@ -1,5 -1,4 +1,4 @@@
- <%  %>
- <%require 'IPAddr' %>
+ <%require 'whois/whois' %>
  <h1>Results</h1>
  
  <% if @election.shortdesc %>
@@@ -148,19 -147,27 +147,27 @@@ by several other names.</p
  <h2>Voters</h2>
  <table class="voterbox">
  <tr>
- <th>IP Address</th>
- <th>DNS/Host</th>
+ <th>IP/Host</th>
+ <th>Origin</th>
  <th>Vote</th>
  </tr>
  <% for voter in @election.voters %>
    <% next unless voter.voted? %>
    <tr>
-   <td><%= voter.ipaddress %></td>
-   <td><% begin %>
-       <%= `host #{IPAddr.new(voter.ipaddress).to_s}`.sub(/^.*pointer (.*)\.$/, '\1') %>
+     <td><% begin %>
+         <% raise ArgumentError.new, "Local Server" if voter.ipaddress == "127.0.0.1" %>
+         <% raise ArgumentError.new, "XML-RPC Voter" if voter.ipaddress == "XMLRPC Request" %>
+         <% w= Whois::Whois.new(IPAddr.new(voter.ipaddress).to_s,true)%>
+         <%=(w.host == nil or w.host.empty?) ? voter.ipaddress : w.host%>
+       </td>
+       <td>
+         <%w.search_whois%>
+         <%= (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 %>
-       <%= voter.ipaddress %>
+       <%= err %>
+     </td>
+     <td><%= err%>
      <% end %>
      </td>
    <td><%= voter.vote.votestring %></td>
  <% end %>
  </table>
  
 +<%= render :partial => 'defeats_list' %>
  <%= render :partial => 'pref_table' %>
  
  <%= image_tag( graph_url( :action => 'votes_per_day', :id => @election ) ) %><br />

Benjamin Mako Hill || Want to submit a patch?