fixes for ip block updater

This commit is contained in:
Kyle Drake 2015-01-01 10:45:04 -06:00
parent 2368ec2b89
commit e7fc76a938

View file

@ -53,7 +53,6 @@ end
desc 'Update banned IPs list' desc 'Update banned IPs list'
task :update_blocked_ips => [:environment] do task :update_blocked_ips => [:environment] do
uri = URI.parse('http://www.stopforumspam.com/downloads/listed_ip_90.zip') uri = URI.parse('http://www.stopforumspam.com/downloads/listed_ip_90.zip')
blocked_ips_zip = Tempfile.new('blockedipszip', Dir.tmpdir, 'wb') blocked_ips_zip = Tempfile.new('blockedipszip', Dir.tmpdir, 'wb')
blocked_ips_zip.binmode blocked_ips_zip.binmode
@ -64,15 +63,17 @@ task :update_blocked_ips => [:environment] do
blocked_ips_zip.flush blocked_ips_zip.flush
end end
Zip::File.open(blocked_ips_zip.path) do |zip_file| Zip::Archive.open(blocked_ips_zip.path) do |ar|
ips = zip_file.glob('listed_ip_90.txt').first.get_input_stream.read ar.fopen('listed_ip_90.txt') do |f|
insert_hashes = [] ips = f.read
ips.each_line {|ip| insert_hashes << {ip: ip.strip, created_at: Time.now}} insert_hashes = []
ips = nil ips.each_line {|ip| insert_hashes << {ip: ip.strip, created_at: Time.now}}
ips = nil
DB.transaction do DB.transaction do
DB[:blocked_ips].delete DB[:blocked_ips].delete
DB[:blocked_ips].multi_insert insert_hashes DB[:blocked_ips].multi_insert insert_hashes
end
end end
end end
end end