Browse Source

Determine @system when Authority object is created

This ensures that @system is set only once, avoiding bugs where any change to @url breaks subsequent calls to #system (as was).

Improve Northgate detection by making it more specific, reducing false positives.
main
Adrian Short 3 years ago
parent
commit
dcdadb1608
Signed by untrusted user: adrian GPG Key ID: 4B54F9AE91AB06BB
1 changed files with 14 additions and 15 deletions
  1. +14
    -15
      lib/uk_planning_scraper/authority.rb

+ 14
- 15
lib/uk_planning_scraper/authority.rb View File

@@ -2,7 +2,7 @@ require 'csv'


module UKPlanningScraper module UKPlanningScraper
class Authority class Authority
attr_reader :name, :url
attr_reader :name, :url, :system
@@authorities = [] @@authorities = []


@@ -12,6 +12,19 @@ module UKPlanningScraper
@tags = [] # Strings in arbitrary order @tags = [] # Strings in arbitrary order
@applications = [] # Application objects @applications = [] # Application objects
@scrape_params = {} @scrape_params = {}
# Determine @system when Authority is created
if @url.match(/search\.do\?action=advanced/i)
@system = 'idox'
elsif @url.match(/generalsearch\.aspx/i)
@system = 'northgate'
elsif @url.match(/ocellaweb/i)
@system = 'ocellaweb'
elsif @url.match(/\/apas\//)
@system = 'agileplanning'
else
@system = 'unknownsystem'
end
end end


def scrape(options = {}) def scrape(options = {})
@@ -67,20 +80,6 @@ module UKPlanningScraper
@tags.include?(tag) @tags.include?(tag)
end end
def system
if @url.match(/search\.do\?action=advanced/i)
'idox'
elsif @url.match(/\.aspx/i)
'northgate'
elsif @url.match(/ocellaweb/i)
'ocellaweb'
elsif @url.match(/\/apas\//)
'agileplanning'
else
'unknownsystem'
end
end

def self.all def self.all
@@authorities @@authorities
end end


Loading…
Cancel
Save