Guest User

Untitled

a guest
Jul 21st, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.27 KB | None | 0 0
  1. require 'csv'
  2. require 'net/http'
  3. obsolete_metros = []
  4.  
  5. class OldMetro
  6. attr_accessor :url, :state
  7. def initialize(url, state)
  8. @url = url
  9. @state = state
  10. end
  11.  
  12. def to_s
  13. "#{@state}/#{@url}"
  14. end
  15. def urls
  16. urls = []
  17. ['Lawn-Care', 'Outdoor-Pest-Control', 'Tree-Shrub-Care'].each do |service|
  18. urls << "/#{service}/#{@state}/#{@url}"
  19. end
  20. urls
  21. end
  22. end
  23.  
  24. CSV.foreach('FuegoMetros.csv') do |row|
  25. obsolete_metros << OldMetro.new(row[1], row[4]) if row[2].nil? || row[2] == ''
  26. end
  27.  
  28. sem_urls = []
  29. File.open('semurls.txt', 'r+') do |file|
  30. file.each_line { |line| line.gsub(/\?/, '').strip!; sem_urls << line unless sem_urls.include?(line) }
  31. end
  32.  
  33. sem_urls.each do |url|
  34. is_obsolete = false
  35. obsolete_metros.each do |obs|
  36. if obs.urls.include?(url)
  37. is_obsolete = true
  38. break
  39. end
  40. end
  41. unless is_obsolete
  42. status = Net::HTTP.get_response(URI.parse(url)).inspect
  43. if status.index('404')
  44. puts url
  45. end
  46. end
  47. end
  48.  
  49. # File.open('redirects.csv', 'w+') do |file|
  50. # file.write("URLName,RedirectURL,StatusCode\n")
  51. # ['Lawn-Care', 'Outdoor-Pest-Control', 'Tree-Shrub-Care'].each do |service|
  52. # obsolete_metros.each do |obs|
  53. # file.write("/#{service}/#{obs.state}/#{obs.url},/#{service}/#{obs.state},302\n")
  54. # end
  55. # end
  56. # end
Add Comment
Please, Sign In to add comment