]> projects.mako.cc - selectricity/blobdiff - app/controllers/quickvote_controller.rb
Strip ridiculously long DNS names
[selectricity] / app / controllers / quickvote_controller.rb
index d8d3d59e59139b9499c70c514cc77b8442203359..cc57bb51d80ff8f825a3d88119ccbf90b4e22ef3 100644 (file)
@@ -168,7 +168,14 @@ class QuickvoteController < ApplicationController
     @election=QuickVote.ident_to_quickvote(params[:id])
     @election.voters.each do |voter|
       next unless voter.ipaddress
     @election=QuickVote.ident_to_quickvote(params[:id])
     @election.voters.each do |voter|
       next unless voter.ipaddress
-      location = GeoKit::Geocoders::IpGeocoder.geocode(voter.ipaddress)
+      location=nil
+      if Cache and location=Cache.get("GEO:#{voter.ipaddress}")
+      elsif Cache
+        location = GeoKit::Geocoders::IpGeocoder.geocode(voter.ipaddress)
+        Cache.set "GEO:#{voter.ipaddress}", location
+      else
+        location = GeoKit::Geocoders::IpGeocoder.geocode(voter.ipaddress)
+      end
       next unless location.lng and location.lat
 
       unless center
       next unless location.lng and location.lat
 
       unless center
@@ -178,8 +185,7 @@ class QuickvoteController < ApplicationController
 
       marker = GMarker.new([location.lat,location.lng],
                            :title => "Voter",
 
       marker = GMarker.new([location.lat,location.lng],
                            :title => "Voter",
-                           :info_window => (voter.ipaddress or "unknown") \
-                                           + "   " + voter.vote.votestring)
+                           :info_window => (voter.ipaddress or "unknown"))
       @map.overlay_init(marker)
     end
   end
       @map.overlay_init(marker)
     end
   end

Benjamin Mako Hill || Want to submit a patch?