StashProperty / multiple_masterview

Scrapes multiple authorities that have a masterview system


This is a scraper that runs on Morph. To get started see the documentation

To run the scraper

bundle exec ruby scraper.rb

To run the tests

bundle exec rake

To run style and coding checks

bundle exec rubocop

What a Masterview website looks like

Sign up

(To update this screenshot run bundle exec rake screenshots)

Contributors mlandauer AndreM101 njenkins

Last run failed with status code 1.

Console output of last run

Injecting configuration and compiling... Injecting scraper and running... Scraping authorities: gunnedah, maranoa, broken_hill, gympie, fairfield, fraser_coast, hawkesbury, toowoomba, bundaberg, wingecarribee, albury, bogan, lismore, port_macquarie_hastings, port_stephens, singleton, camden Collecting feed data for gunnedah... Collecting feed data for maranoa... gunnedah: ERROR: execution expired /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `initialize' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `open' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `block in connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/timeout.rb:103:in `timeout' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:935:in `connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:920:in `do_start' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:915:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:655:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:595:in `connection_for' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:885:in `request' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize/http/agent.rb:280:in `fetch' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize.rb:464:in `get' /app/lib/masterview_scraper.rb:91:in `scrape_api_period' /app/lib/masterview_scraper.rb:48:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:33:in `<main>' Saving record 22 - 2025 - 21360 - 1 - 5 Coronation St, Injune 4454 QLD Saving record 22 - 2025 - 21359 - 1 - 47 Elmer St, Roma 4455 QLD Saving record 30 - 2023 - 21012 - 3 - Roma Southern Rd, Wycombe 4455 QLD Saving record 23 - 2025 - 21358 - 1 - 197-235 Mcdowall St, Roma 4455 QLD Saving record 22 - 2025 - 21351 - 1 - 33-35 Charles St, Roma 4455 QLD Saving record 22 - 2025 - 21352 - 1 - 10 Queen St, Roma 4455 QLD Saving record 22 - 2025 - 21353 - 1 - 12 Arthur St, Roma 4455 QLD Saving record 22 - 2025 - 21355 - 1 - 28 Lovell St, Roma 4455 QLD Saving record 22 - 2025 - 21356 - 1 - 119 Clayton Rd, Roma 4455 QLD Saving record 22 - 2025 - 21357 - 1 - 30 May St, Wallumbilla 4428 QLD Saving record 30 - 2025 - 21354 - 1 - 85 Spencer St, Roma 4455 QLD Collecting feed data for broken_hill... Saving record 10 - 2025 - 1 - 1 - 28 Kanandah Rd, Broken Hill NSW 2880 Saving record 10 - 2024 - 112 - 1 - 687 Beryl St, Broken Hill NSW 2880 Collecting feed data for gympie... Saving record 8.2025.118.1 - 184 Rossmore Rd, Kilkivan 4600 QLD Saving record 7.2025.48.1 - 74 Fernvale Dve, Pie Creek 4570 QLD Saving record 22.2020.769.1 - 10 Kyarne Ct, Imbil 4570 QLD Saving record 7.2025.109.1 - 145 Kelly Rd, Amamoor Creek 4570 QLD Saving record 7.2025.105.1 - 6651 Burnett Hwy, Goomeri 4601 QLD Saving record 7.2025.46.1 - Corella Rd, Gympie 4570 QLD Saving record 22.2023.1610.1 - 60 Rainbow Beach Rd, Rainbow Beach 4581 QLD Saving record 22.2023.1811.1 - 10 Heritage La, Southside 4570 QLD Saving record 7.2024.3930.1 - 5 Heritage La, Southside 4570 QLD Saving record 7.2024.3928.1 - 5 Heritage La, Southside 4570 QLD Saving record 7.2024.3927.1 - 5 Heritage La, Southside 4570 QLD Saving record 15.2025.69.1 - 499 Eel Creek Rd, Pie Creek 4570 QLD Saving record 7.2024.3938.1 - 5 Heritage La, Southside 4570 QLD Saving record 7.2024.3931.1 - 5 Heritage La, Southside 4570 QLD Saving record 7.2024.3929.1 - 5 Heritage La, Southside 4570 QLD Saving record 15.2025.15.1 - 12A Johnstone Rd, Southside 4570 QLD Saving record 8.2025.15.1 - 12A Johnstone Rd, Southside 4570 QLD Saving record 7.2025.45.1 - 335 Glastonbury Rd, Nahrunda 4570 QLD Saving record 14.2025.40.1 - 100 Benian Rd, The Palms 4570 QLD Collecting feed data for fairfield... Saving record DA - 1.1/2025 - 5 Stefanie PL BONNYRIGG, NSW Saving record DA - 2.1/2025 - 315 Hume HWY CABRAMATTA, NSW Saving record DA - 3.1/2025 - 2 Pima CL GREENFIELD PARK, NSW Saving record DA - 4.1/2025 - 95 Humphries RD ST JOHNS PARK, NSW Saving record DA - 5.1/2025 - 68 Pritchard ST MOUNT PRITCHARD, NSW Saving record DA - 6.1/2025 - 12/442-446 Victoria ST WETHERILL PARK, NSW Saving record DA - 7.1/2025 - 9 Northumberland ST BONNYRIGG HEIGHTS, NSW Saving record DA - 8.1/2025 - 376-384 Victoria ST WETHERILL PARK, NSW Saving record DA - 9.1/2025 - 28 Chadderton ST CABRAMATTA, NSW Saving record DA - 10.1/2025 - 45 Chelsea DR CANLEY HEIGHTS, NSW Saving record DA - 11.1/2025 - 8 Maxwell PL ABBOTSBURY, NSW Saving record DA - 12.1/2025 - 19 Elva ST CABRAMATTA WEST, NSW Saving record DA - 13.1/2025 - 2-8 Elizabeth ST WETHERILL PARK, NSW Saving record DA - 14.1/2025 - 7 Cathcart ST FAIRFIELD, NSW Saving record DA - 15.1/2025 - 7 Cathcart ST FAIRFIELD, NSW Saving record DA - 16.1/2025 - 7 Cathcart ST FAIRFIELD, NSW Saving record DA - 17.1/2025 - 39 Hassall ST SMITHFIELD, NSW Saving record DA - 18.1/2025 - 32 Edensor RD CABRAMATTA WEST, NSW Saving record DA - 19.1/2025 - 27-31 Fairfield ST OLD GUILDFORD, NSW Saving record DA - 20.1/2025 - 12-19 Gregorace PL BONNYRIGG, NSW Saving record DA - 21.1/2025 - 85 Stella ST FAIRFIELD HEIGHTS, NSW Saving record DA - 22.1/2025 - 96 Seville ST FAIRFIELD EAST, NSW Saving record DA - 23.1/2025 - 217 Horsley RD HORSLEY PARK, NSW Saving record DA - 24.1/2025 - 92 McBurney RD CABRAMATTA, NSW Collecting feed data for fraser_coast... Collecting feed data for hawkesbury... fraser_coast: ERROR: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (unable to get local issuer certificate) /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/protocol.rb:44:in `connect_nonblock' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/protocol.rb:44:in `ssl_socket_connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:981:in `connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:920:in `do_start' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:915:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:655:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:595:in `connection_for' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:885:in `request' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize/http/agent.rb:280:in `fetch' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize.rb:464:in `get' /app/lib/masterview_scraper.rb:153:in `scrape_url' /app/lib/masterview_scraper.rb:61:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:33:in `<main>' Collecting feed data for toowoomba... hawkesbury: ERROR: Failed to open TCP connection to datrack.hawkesbury.nsw.gov.au:443 (getaddrinfo: Name or service not known) /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:939:in `rescue in block in connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:936:in `block in connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/timeout.rb:93:in `block in timeout' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/timeout.rb:103:in `timeout' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:935:in `connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:920:in `do_start' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:915:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:655:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:595:in `connection_for' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:885:in `request' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize/http/agent.rb:280:in `fetch' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize.rb:464:in `get' /app/lib/masterview_scraper.rb:153:in `scrape_url' /app/lib/masterview_scraper.rb:61:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:33:in `<main>' Collecting feed data for bundaberg... toowoomba: ERROR: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (ok) /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/protocol.rb:44:in `connect_nonblock' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/protocol.rb:44:in `ssl_socket_connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:981:in `connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:920:in `do_start' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:915:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:655:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:595:in `connection_for' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:885:in `request' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize/http/agent.rb:280:in `fetch' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize.rb:464:in `get' /app/lib/masterview_scraper.rb:153:in `scrape_url' /app/lib/masterview_scraper.rb:61:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:33:in `<main>' Collecting feed data for wingecarribee... bundaberg: ERROR: 403 => Net::HTTPForbidden for https://da.bundaberg.qld.gov.au/ -- unhandled response /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize/http/agent.rb:329:in `fetch' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize.rb:464:in `get' /app/lib/masterview_scraper.rb:91:in `scrape_api_period' /app/lib/masterview_scraper.rb:48:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:33:in `<main>' Collecting feed data for albury... wingecarribee: ERROR: Failed to open TCP connection to datracker.wsc.nsw.gov.au:443 (getaddrinfo: Name or service not known) /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:939:in `rescue in block in connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:936:in `block in connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/timeout.rb:93:in `block in timeout' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/timeout.rb:103:in `timeout' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:935:in `connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:920:in `do_start' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:915:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:655:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:595:in `connection_for' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:885:in `request' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize/http/agent.rb:280:in `fetch' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize.rb:464:in `get' /app/lib/masterview_scraper.rb:153:in `scrape_url' /app/lib/masterview_scraper.rb:61:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:33:in `<main>' albury: ERROR: execution expired Collecting feed data for bogan... /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `initialize' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `open' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `block in connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/timeout.rb:103:in `timeout' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:935:in `connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:920:in `do_start' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:915:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:655:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:595:in `connection_for' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:885:in `request' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize/http/agent.rb:280:in `fetch' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize.rb:464:in `get' /app/lib/masterview_scraper.rb:91:in `scrape_api_period' /app/lib/masterview_scraper.rb:48:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:33:in `<main>' Collecting feed data for lismore... bogan: ERROR: execution expired /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `initialize' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `open' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `block in connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/timeout.rb:103:in `timeout' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:935:in `connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:920:in `do_start' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:915:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:655:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:595:in `connection_for' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:885:in `request' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize/http/agent.rb:280:in `fetch' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize.rb:464:in `get' /app/lib/masterview_scraper.rb:91:in `scrape_api_period' /app/lib/masterview_scraper.rb:48:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:33:in `<main>' Saving record 5.2023.283.2 - 75A Conway St, Lismore NSW 2480 Saving record 5.2003.1062.2 - 64 Conway St, Lismore NSW 2480 Saving record 5.2025.9.1 - 117 Lockton Rd, Bexhill NSW 2480 Saving record 5.2024.338.1 - 17 Keoghan Dr, Goonellabah NSW 2480 Saving record 5.2025.6.1 - 125 Mckinnon Rd, Boat Harbour NSW 2480 Saving record 5.2024.336.1 - 29 Muller Rd, Tregeagle NSW 2480 Saving record 5.2025.5.1 - 14 Pinecrest Dr, Goonellabah NSW 2480 Saving record 5.2024.337.1 - 180 Wilson St, South Lismore NSW 2480 Saving record 10.2024.337.1 - 180 Wilson St, South Lismore NSW 2480 Saving record 5.2025.8.1 - 70 Hillcrest Ave, Goonellabah NSW 2480 Saving record 10.2024.122.1 - 10 Elliott Rd, South Lismore NSW 2480 Saving record 5.2024.313.1 - 44 Uralba St, Lismore NSW 2480 Saving record 5.2024.333.1 - 27 Haywood Lane, Lagoon Grass NSW 2480 Saving record 5.2025.7.1 - 3 Eleanor Pl, Mcleans Ridges NSW 2480 Saving record 5.2024.331.1 - 22 Barrys Rd, Modanville NSW 2480 Saving record 5.2024.324.1 - 21A Elton St, Girards Hill NSW 2480 Saving record 5.2005.650.4 - 463 Tuntable Creek Rd, Tuntable Creek NSW 2480 Saving record 5.2025.3.1 - 12 Canary Dr, Goonellabah NSW 2480 Saving record 13.2010.311.2 - 362 Koonorigan Rd, Koonorigan NSW 2480 Saving record 5.2024.334.1 - 25 Uralba St, Lismore NSW 2480 Saving record 5.2025.2.1 - 37 Wyrallah Rd, Girards Hill NSW 2480 Saving record 10.2024.47.1 - 130 Cameron Rd, Mcleans Ridges NSW 2480 Saving record 5.2024.335.1 - 18 Pamela Dr, Chilcotts Grass NSW 2480 Collecting feed data for port_macquarie_hastings... lismore: ERROR: Unexpected field in: Determination Type: /app/lib/masterview_scraper/pages/detail.rb:198:in `block in extract_decision_block' /app/lib/masterview_scraper/pages/detail.rb:189:in `each' /app/lib/masterview_scraper/pages/detail.rb:189:in `extract_decision_block' /app/lib/masterview_scraper/pages/detail.rb:209:in `scrape_new_version' /app/lib/masterview_scraper/pages/detail.rb:12:in `scrape' /app/lib/masterview_scraper.rb:112:in `block in scrape_api_period' /app/lib/masterview_scraper/get_applications_api.rb:23:in `block in scrape' /app/lib/masterview_scraper/get_applications_api.rb:60:in `block in scrape_page' /app/lib/masterview_scraper/get_applications_api.rb:54:in `each' /app/lib/masterview_scraper/get_applications_api.rb:54:in `scrape_page' /app/lib/masterview_scraper/get_applications_api.rb:18:in `scrape' /app/lib/masterview_scraper.rb:97:in `scrape_api_period' /app/lib/masterview_scraper.rb:48:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:33:in `<main>' Collecting feed data for port_stephens... port_macquarie_hastings: ERROR: execution expired /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `initialize' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `open' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `block in connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/timeout.rb:103:in `timeout' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:935:in `connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:920:in `do_start' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:915:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:655:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:595:in `connection_for' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:885:in `request' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize/http/agent.rb:280:in `fetch' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize.rb:464:in `get' /app/lib/masterview_scraper.rb:91:in `scrape_api_period' /app/lib/masterview_scraper.rb:48:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:33:in `<main>' Collecting feed data for singleton... port_stephens: ERROR: execution expired /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `initialize' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `open' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `block in connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/timeout.rb:103:in `timeout' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:935:in `connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:920:in `do_start' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:915:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:655:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:595:in `connection_for' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:885:in `request' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize/http/agent.rb:280:in `fetch' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize.rb:464:in `get' /app/lib/masterview_scraper.rb:91:in `scrape_api_period' /app/lib/masterview_scraper.rb:48:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:33:in `<main>' Saving record 15.2025.3.1 - 56 Gresford Rd, Clydesdale NSW 2330 Saving record 15.2025.2.1 - 7 Dyrring Rd, Fern Gully NSW 2330 Saving record 8.2024.332.1 - 97 Dimmock St, Hunterview NSW 2330 Saving record 8.2025.9.1 - 41 Dimmock St, Hunterview NSW 2330 Collecting feed data for camden... singleton: ERROR: Unexpected field in: Determination Type: /app/lib/masterview_scraper/pages/detail.rb:198:in `block in extract_decision_block' /app/lib/masterview_scraper/pages/detail.rb:189:in `each' /app/lib/masterview_scraper/pages/detail.rb:189:in `extract_decision_block' /app/lib/masterview_scraper/pages/detail.rb:209:in `scrape_new_version' /app/lib/masterview_scraper/pages/detail.rb:12:in `scrape' /app/lib/masterview_scraper.rb:112:in `block in scrape_api_period' /app/lib/masterview_scraper/get_applications_api.rb:23:in `block in scrape' /app/lib/masterview_scraper/get_applications_api.rb:60:in `block in scrape_page' /app/lib/masterview_scraper/get_applications_api.rb:54:in `each' /app/lib/masterview_scraper/get_applications_api.rb:54:in `scrape_page' /app/lib/masterview_scraper/get_applications_api.rb:18:in `scrape' /app/lib/masterview_scraper.rb:97:in `scrape_api_period' /app/lib/masterview_scraper.rb:48:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:33:in `<main>' *************************************************** Now retrying authorities which earlier had failures camden: ERROR: 765: unexpected token at '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> *************************************************** <html lang="en-US"> <head> Collecting feed data for gunnedah... <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" /> <title> Authority e-Services - live </title> <link rel="stylesheet" href="/eservice/library/bootstrap-3.4.1.min.css" type="text/css" media="screen, projection, print" > <link rel="stylesheet" href="/eservice/library/jquery-ui.min.css" type="text/css" media="screen, projection, print" > <link rel="stylesheet" href="/eservice/library/jquery-ui.structure.min.css" type="text/css" media="screen, projection, print" > <link rel="stylesheet" href="/eservice/library/jquery-ui.theme.min.css" type="text/css" media="screen, projection, print" > <link rel="stylesheet" href="/eservice/library/e-services.css" type="text/css" media="screen, projection, print" > <link rel="stylesheet" href="/eservice/library/calendar.css" type="text/css" media="screen, projection, print" > <link rel="stylesheet" href="/eservice/library/daEnquiry_daEnquiry.css" id="pagecss" type="text/css" media="screen, projection" > <link rel="stylesheet" href="/eservice/library/e-print.css" type="text/css" media="print" > <link rel="stylesheet" href="/eservice/library/header-eserv.css" type="text/css" media="screen, projection, print" > <link rel="stylesheet" href="/council/eservice/custom.css" type="text/css" media="screen, projection, print" > <script>var AUTHJS = {};AUTHJS.productName = "i-Services";</script> <script type="text/javascript" src="/eservice/jscalendar-1.0/calendar.js"></script> <script type="text/javascript" src="/eservice/javascript/jquery/jquery-3.6.0.min.js"></script> <script>AUTHJS.productName = "e-Services";</script> <script type="text/javascript" src="/eservice/javascript/tether-1.3.3.js"></script> <script type="text/javascript" src="/eservice/javascript/modernizr-283.min.js"></script> <script type="text/javascript" src="/eservice/javascript/jquery/bootstrap-3.4.1.js"></script> <script type="text/javascript" src="/eservice/javascript/jquery/jquery-ui.min.js"></script> <script type="text/javascript" src="/eservice/javascript/e-services-page.js"></script> <script type="text/javascript" src="/eservice/javascript/prototype.js"></script> <script type="text/javascript" src="/eservice/javascript/civica.jquery.plugins.js"></script> <script type="text/javascript" src="/eservice/javascript/civica.common.init.js"></script> <script type="text/javascript" src="/eservice/javascript/civica.jquery.functions.js"></script> <script type="text/javascript" src="/eservice/javascript/util.js"></script> <script type="text/javascript" src="/eservice/javascript/json2.js"></script> <script type="text/javascript" src="/eservice/javascript/effects.js"></script> <script type="text/javascript" src="/eservice/javascript/controls.js"></script> <script type="text/javascript" src="/eservice/javascript/dragdrop.js"></script> <script type="text/javascript" src="/eservice/javascript/lightbox.js"></script> <script type="text/javascript" src="/eservice/javascript/menu.js"></script> <script type="text/javascript" src="/eservice/javascript/menuScroll.js"></script> <script type="text/javascript" src="/eservice/javascript/sitemap.js"></script> <script type="text/javascript" src="/eservice/javascript/jquery.imageTickBox.js"></script> <script type="text/javascript" src="/eservice/javascript/jquery.metadata.js"></script> <script type="text/javascript" src="/eservice/javascript/jquery/jquery.form-3.46.0.js"></script> <link rel="shortcut icon" href="/favicon.ico" /> <script src="/eservice/javascript/da.js" type="text/javascript"></script> <script src="/eservice/javascript/mkTree.js" type="text/javascript"></script> </head> <body > <script type="text/javascript"> var initialTabPage= "null"; jQuery(document).ready(function() { if (initialTabPage != "null") { if (initialTabPage=="sitemap"){ initialTabPage="#sitemap-controller"; } else { initialTabPage="#dashboard-controller"; } jQuery(initialTabPage + " a.tab-clicker").not(".tabs-content *").click(); } }); (function() { var isBootstrapEvent = false; if (window.jQuery) { var all = jQuery('*'); jQuery.each(['hide.bs.dropdown', 'hide.bs.collapse', 'hide.bs.modal', 'hide.bs.tooltip', 'hide.bs.popover', 'hide.bs.tab'], function(index, eventName) { all.on(eventName, function( event ) { isBootstrapEvent = true; }); }); } var originalHide = Element.hide; Element.addMethods({ hide: function(element) { if(isBootstrapEvent) { isBootstrapEvent = false; return element; } return originalHide(element); } }); })(); </script> <!-- eServices --> <div id="page" class=" tabbed not-logged-in"> <div id="masthead" class="navbar navbar-static-top bs-docs-nav"> <div class="container" id="masthead-container"> <div class="navbar-header"> <a class="navbar-brand"> <span>e-Services</span> Camden Council </a> </div> <!-- masthead Quicklinks start --> <div id="wrapper-quick-links"> <ul id="quick-links" class="nav navbar-nav navbar-right"> <li class="top-link-home"> <a href="/eservice/navigationStart.do" id="quick-link-home"> Home </a> </li> <li class="top-link-signin"> <a href="/eservice/logonInit.do" id="quick-link-signin"> Sign In </a> </li> <li class="top-link-user"> <a> <!-- masthead User start --> You are a Guest <!-- masthead User end --> </a> </li> </ul> </div> <!-- masthead Quicklinks end --> </div> <!-- End container --> </div> <!-- End Masthead --> <!-- End Masthead navbar --> <div id="content"> <div class="container" id="content-container"> <div class="row" id="main-row"> <div class="col-sm-3" id="bstrap-leftnav"> <div id="search-results" > </div> <div id="admin-tabs" > <div id="dashboard" class="tabs-content"> <!-- START MENU CONTENT --> <div id="menus-toggle"> <div id="menus-button" class="btn btn-default"> <span id="menus-button-inner"> <a id="menus-button-link" href="#">Hide Menus</a> </span> </div> <div id="site-access" class="menu-on"> <ul id="siteaccesspanel"> <li id="siteaccesspanel_1"> <div class="menu-group"> <div class="menu-header-panel" title="Drag to change panel order"> <h3 class="panel-handle">Menu</h3> </div> <p class="menu-handlers"> <a href="/eservice/menu/minimisePanel.do?id=1" title="Minimise Panel" class="panel-min-max" id="panel-min-max-1" > <img src="/eservice/icons/minimise.gif" alt="Minimise" /> </a> </p> <div id="menu-search"> <form action="/eservice/menu/search.do" class="menu-search-form"> <p> <input type="text" size="15" name="search" id="search" class="field" value="Menu Search" /> <input type="submit" id="menu-search-submit" value="Go" class="buttonCalendar" /> <img src="/eservice/icons/loading.gif" alt="loading" class="loading" id="menu-search-loading" /> </p> <!-- div id="search-autocomplete" class="autocompleter"></div --> </form> <div id="search-results" > </div> </div> <div id="scrollingMenuContainer" class="scrolling-container"> <ul id="navigation"> <li class="nav-return" title="Back one menu level"><a href="/eservice/navigationStart.do" id="node-0"><img src="/eservice/icons/parent.gif" alt="Return to " />Applications</a></li> <li class='java'> <a href="/eservice/daEnquiryInit.do?doc_typ=10&nodeNum=3374010" class="linkitem" id="node-3374010">Development Application</a> </li> <li class='java'> <a href="/eservice/daEnquiry/currentlyAdvertised.do?nodeNum=3374975" class="linkitem" id="node-3374975">On Exhibition</a> </li> <li class='java'> <a href="/eservice/daEnquiry/recentlySubmitted.do?rangeType=M&rangeFrom=1&rangeTo=0&nodeNum=3374985" class="linkitem" id="node-3374985">Recently Submitted</a> </li> <li class='java'> <a href="/eservice/daEnquiry/recentlyDetermined.do?num_days=30&nodeNum=3374976" class="linkitem" id="node-3374976">Recently Determined</a> </li> <li class='java'> <a href="/eservice/daEnquiryInit.do?doc_typ=12&nodeNum=3374979" class="linkitem" id="node-3374979">Complying Development Certificate</a> </li> <li class='java'> <a href="/eservice/daEnquiryInit.do?doc_typ=11&nodeNum=3374980" class="linkitem" id="node-3374980">Construction Certificate</a> </li> <li class='java'> <a href="/eservice/daEnquiryInit.do?doc_typ=14&nodeNum=3374982" class="linkitem" id="node-3374982">Subdivision Certificate</a> </li> <li class='java'> <a href="/eservice/daEnquiryInit.do?doc_typ=13&nodeNum=3374986" class="linkitem" id="node-3374986">Occupation Certificate</a> </li> <li class='java'> <a href="/eservice/daEnquiryInit.do?doc_typ=16&nodeNum=3374987" class="linkitem" id="node-3374987">Engineering Construction</a> </li> <li class='java'> <a href="/eservice/daEnquiryInit.do?doc_typ=100&nodeNum=3374981" class="linkitem" id="node-3374981">Tree Development Application</a> </li> <li class='java'> <a href="/eservice/daEnquiryInit.do?doc_typ=27&nodeNum=3374011" class="linkitem" id="node-3374011">Fire Safety Schedule</a> </li> </ul> </div> </div> </li> <li id="siteaccesspanel_3"> <div class="menu-group"> <div class="menu-header-panel" title="Drag to change panel order"> <h3 class="panel-handle">History</h3> </div> <p class="menu-handlers"> <a href="/eservice/menu/movePanel.do?id=2" title="Panel Up" class="panel-up"> <img src="/eservice/icons/panel_move_up.gif" alt="Up" /></a> <a href="/eservice/menu/minimisePanel.do?id=2" title="Minimise Panel" class="panel-min-max" id="panel-min-max-2" > <img src="/eservice/icons/minimise.gif" alt="Minimise" /> </a> </p> <ul id="recently-used"> <li id="recently-used-0"> <a href="/eservice/daEnquiryInit.do?doc_typ=10&nodeNum=3374010" class="linkitem">Development Application</a> </li> </ul> </div> </li> </ul> <script type="text/javascript"> //Drag n Drop panels Sortable.create('siteaccesspanel', {handle: 'panel-handle', onUpdate:function(){new Ajax.Request(webContextPath + '/resequencePanels.do', {method: 'post', parameters:Sortable.serialize('siteaccesspanel')})}}); </script> <p id="scroll-trigger">15</p> <p id="alternate-scroll-trigger"></p> <p id="pixel-height-base-rate-for-list-item">24</p> </div> </div> </div> </div> </div> <div class="col-sm-9" id="bstrap-main"> <div id="main-content"> <div class="transaction-area" id="transaction-area"></div> <!-- END MENU CONTENT --> <div class="unique-content" id="daEnquiry_daEnquiry"> <div class="daEnquirySpecific" id="daEnquiry_daEnquiryDocumentType10"> <h1> Development Application Enquiry </h1> <div id="leftcontent"> <div class="infopanel"> <!-- CIVICA-INFO-START --> <div id="infopanel-header"> <h4 class="entryHeader" > Instructions </h4> </div> <div id="instructions-content" class="instructions"> <p>Enter some search criteria and select Search. If the search you entered does not yield any results, try broadening the search.</p> <p>When searching by the number, please enter the application number followed by the year, as in the example below.</p> </div> <!-- CIVICA-INFO-END --> </div> </div> <div id="rightcontent"> <div class="bodypanel" id="bodypanel1"> <!-- CIVICA-CONTENT-START:bodypanel1 --> <h2 > Details </h2> <?xml version="1.0" encoding="UTF-8"?> <div> <form action="daEnquiry.do" id="daEnquiryForm" name="daEnquiryForm" class="form-horizontal"> <div class="form-group"> <label class="col-sm-2 control-label">DA Number</label> <div class="col-sm-10"> <input type="text" class="text-medium" name="number" id="DANumber" size="10" maxlength="10" errors="DANumber" value="" /> <span class="subText">eg 121/2023</span> </div> </div> <p /> <p class="rowDataOnly"> <span class="rowInfo"> <strong>OR</strong> use any of the following search fields: </span> </p> <p> &nbsp; </p> <h2>Lodgement Date</h2> <div class="form-group" style="margin-bottom:2em; border:none; padding:0"> <div class="form-group" style="margin-bottom:2em"> <label class="radio-inline control-label control-radio" style="margin-left:10px"> <input type="radio" name="lodgeRangeType" id="lodgeRangeType" onclick="javascript:setDateRange('', '', 'DADateFrom', 'DADateTo')" /> Specified Range </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="lodgeRangeType" id="lodgeRangeType" onclick="javascript:setDateRange('19/01/2025','22/01/2025', 'DADateFrom', 'DADateTo')" /> This Week </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="lodgeRangeType" id="lodgeRangeType" onclick="javascript:setDateRange('12/01/2025','18/01/2025', 'DADateFrom', 'DADateTo')" /> Last Week </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="lodgeRangeType" id="lodgeRangeType" onclick="javascript:setDateRange('01/01/2025','31/01/2025', 'DADateFrom', 'DADateTo')" /> This Month </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="lodgeRangeType" id="lodgeRangeType" onclick="javascript:setDateRange('01/12/2024','31/12/2024', 'DADateFrom', 'DADateTo')" /> Last Month </label> </div> </div> <div class="form-group"> <div id="DADate"> <label class="col-sm-2 control-label" for="DADateFrom" id="daFromDateLabel">From</label> <div class="form-inline col-sm-10"> <input type="text" class="datepick text-small form-control" name="dateFrom" id="DADateFrom" style="padding-right: 0px" size="10" maxlength="10" errors="DADateFrom" value="" /> <label for="DADateTo" id="daToDateLabel">To</label> <input type="text" class="datepick text-small form-control" name="dateTo" id="DADateTo" style="padding-right: 0px" size="10" maxlength="10" errors="DADateTo" value="" /> </div> </div> </div> <h2>Determination Date</h2> <div class="form-group" style="margin-bottom:2em; border:none; padding:0"> <div class="form-group" style="margin-bottom:2em"> <label class="radio-inline control-label control-radio" style="margin-left:10px"> <input type="radio" name="detRangeType" id="detRangeType" onclick="javascript:setDateRange('','', 'detDateFromString', 'detDateToString')" /> Specified Range </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="detRangeType" id="detRangeType" onclick="javascript:setDateRange('19/01/2025','22/01/2025', 'detDateFromString', 'detDateToString')" /> This Week </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="detRangeType" id="detRangeType" onclick="javascript:setDateRange('12/01/2025','18/01/2025', 'detDateFromString', 'detDateToString')" /> Last Week </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="detRangeType" id="detRangeType" onclick="javascript:setDateRange('01/01/2025','31/01/2025', 'detDateFromString', 'detDateToString')" /> This Month </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="detRangeType" id="detRangeType" onclick="javascript:setDateRange('01/12/2024','31/12/2024', 'detDateFromString', 'detDateToString')" /> Last Month </label> </div> </div> <div class="form-group"> <div id="DetDate"> <label class="col-sm-2 control-label" for="detDateFrom" id="detFromDateLabel">From</label> <div class="form-inline col-sm-10" id="detDateFromInput"> <input type="text" class="datepick text-small form-control" name="detDateFrom" id="detDateFromString" style="padding-right: 0px" size="10" maxlength="10" errors="detDateFrom" value="" /> <label for="detDateTo" id="detToDateLabel">To</label> <input type="text" class="datepick text-small form-control" name="detDateTo" id="detDateToString" style="padding-right: 0px" size="10" maxlength="10" errors="detDateTo" value="" /> </div> </div> </div> <h2>Property Details</h2> <div class="form-group" id="streetNameRow"> <label class="control-label col-sm-2" for="streetName">Street Name</label> <div class="col-sm-10"> <input type="text" class="text-large" name="streetName" id="streetName" size="20" onblur="javascript:getHouseNum(); javascript:getSuburb()" value="" /> <div id="streetHints" class="autocompleter"> &nbsp; </div> </div> </div> <div class="form-group" id="suburbDropdownRow"> <label class="control-label col-sm-2" for="suburb">Suburb</label> <div class="col-sm-10"> <div id="suburbSelect"> <select class="select-medium" name="suburb" id="suburb"> <option value="0" selected="selected">- -None Selected- -</option> <option value="2">BICKLEY VALE</option> <option value="1">BRINGELLY</option> <option value="3">CAMDEN</option> <option value="8">CAMDEN SOUTH</option> <option value="4">CATHERINE FIELD</option> <option value="7">CAWDOR</option> <option value="6">COBBITTY</option> <option value="5">CURRANS HILL</option> <option value="9">ELDERSLIE</option> <option value="10">ELLIS LANE</option> <option value="23">GLEDSWOOD HILLS</option> <option value="11">GRASMERE</option> <option value="22">GREGORY HILLS</option> <option value="12">HARRINGTON PARK</option> <option value="13">KIRKHAM</option> <option value="14">LEPPINGTON</option> <option value="24">LEPPINGTON</option> <option value="15">MOUNT ANNAN</option> <option value="16">NARELLAN</option> <option value="17">NARELLAN VALE</option> <option value="18">ORAN PARK</option> <option value="19">ROSSMORE</option> <option value="21">SMEATON GRANGE</option> <option value="20">SPRING FARM</option> <option value="99">UNKNOWN</option> </select> </div> </div> </div> <div class="form-group" id="unitNumberRow"> <label class="control-label col-sm-2" for="unitNum">Unit</label> <div class="col-sm-10"> <input type="text" class="text-mini" name="unitNum" id="unitNum" size="10" value="" /> </div> </div> <div class="form-group" id="houseNumRow"> <label class="control-label col-sm-2" for="houseNum">House No.</label> <div class="col-sm-10"> <div id="houseNumSelect"> <select class="select-medium" name="houseNum" id="houseNum"> <option value="0&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;">- -None Selected- -</option> </select> </div> </div> </div> <div class="form-group" id="planNumberRow"> <label class="control-label col-sm-2" for="planNumber">Plan</label> <div class="col-sm-10"> <input type="text" class="text-small" name="planNumber" id="planNumber" size="10" value="" /> </div> </div> <div class="form-group" id="strataPlanRow"> <label class="control-label col-sm-2" for="strataPlan">Strata Plan</label> <div class="col-sm-10"> <input type="text" class="text-small" name="strataPlan" id="strataPlan" size="10" value="" /> </div> </div> <div class="form-group" id="lotRow"> <label class="control-label col-sm-2" for="lotNumber">Lot</label> <div class="col-sm-10"> <input type="text" class="text-small" name="lotNumber" id="lotNumber" size="10" value="" /> </div> </div> <div class="form-group" id="propertyNameRow"> <label class="control-label col-sm-2" for="propertyName">Place</label> <div class="col-sm-10"> <input type="text" class="text-large" name="propertyName" id="propertyName" size="20" value="" /> </div> </div> <p class="rowDataOnly"> <span class="rowInfo"> <strong>AND</strong> the following search field: </span> </p> <p> &nbsp; </p> <h2>Options</h2> <label class="radio-inline control-label control-radio"> <input type="radio" name="searchMode" value="A" id="searchModeA" checked="checked" /> <span class="indicator" /> All DAs </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="searchMode" value="D" id="searchModeD" /> <span class="indicator" /> Determined DAs </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="searchMode" value="P" id="searchModeP" /> <span class="indicator" /> DAs Awaiting Decision </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="searchMode" value="C" id="searchModeC" /> <span class="indicator" /> On Exhibition </label> <div class="button-panel"> <input type="submit" name="submitButton" class="button" value="Search" onclick="javascript:checkDetDatesMakeSense()" /> <input type="button" name="clearButton" class="button" value="Clear" onclick="javascript:clearDaEnquiryFields()" /> </div> </form> </div> <!-- CIVICA-CONTENT-END:bodypanel1 --> </div> </div> </div> </div> </div> </div> </div> </div> <!-- container --> </div> <!-- content --> <div id="bottom" class="tabbed"> <div class="container" id="bottom-container"> <div class="row"> <div class="footer"> <p>&#169; Camden Council 2018 </p> <p id="web-context-path">/eservice</p> </div> </div> </div> </div> </div> <!-- End page div --> <!-- End Bootstrap eServices --> <!-- iServices --> </body> </html> ' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/json/common.rb:156:in `parse' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/json/common.rb:156:in `parse' /app/lib/masterview_scraper/get_applications_api.rb:50:in `scrape_page' /app/lib/masterview_scraper/get_applications_api.rb:18:in `scrape' /app/lib/masterview_scraper.rb:97:in `scrape_api_period' /app/lib/masterview_scraper.rb:48:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:33:in `<main>' gunnedah: ERROR: execution expired Collecting feed data for fraser_coast... /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `initialize' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `open' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `block in connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/timeout.rb:103:in `timeout' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:935:in `connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:920:in `do_start' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:915:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:655:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:595:in `connection_for' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:885:in `request' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize/http/agent.rb:280:in `fetch' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize.rb:464:in `get' /app/lib/masterview_scraper.rb:91:in `scrape_api_period' /app/lib/masterview_scraper.rb:48:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:39:in `<main>' Collecting feed data for hawkesbury... fraser_coast: ERROR: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (unable to get local issuer certificate) /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/protocol.rb:44:in `connect_nonblock' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/protocol.rb:44:in `ssl_socket_connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:981:in `connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:920:in `do_start' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:915:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:655:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:595:in `connection_for' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:885:in `request' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize/http/agent.rb:280:in `fetch' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize.rb:464:in `get' /app/lib/masterview_scraper.rb:153:in `scrape_url' /app/lib/masterview_scraper.rb:61:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:39:in `<main>' Collecting feed data for toowoomba... hawkesbury: ERROR: Failed to open TCP connection to datrack.hawkesbury.nsw.gov.au:443 (getaddrinfo: Name or service not known) /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:939:in `rescue in block in connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:936:in `block in connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/timeout.rb:93:in `block in timeout' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/timeout.rb:103:in `timeout' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:935:in `connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:920:in `do_start' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:915:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:655:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:595:in `connection_for' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:885:in `request' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize/http/agent.rb:280:in `fetch' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize.rb:464:in `get' /app/lib/masterview_scraper.rb:153:in `scrape_url' /app/lib/masterview_scraper.rb:61:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:39:in `<main>' Collecting feed data for bundaberg... toowoomba: ERROR: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (ok) /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/protocol.rb:44:in `connect_nonblock' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/protocol.rb:44:in `ssl_socket_connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:981:in `connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:920:in `do_start' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:915:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:655:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:595:in `connection_for' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:885:in `request' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize/http/agent.rb:280:in `fetch' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize.rb:464:in `get' /app/lib/masterview_scraper.rb:153:in `scrape_url' /app/lib/masterview_scraper.rb:61:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:39:in `<main>' Collecting feed data for wingecarribee... bundaberg: ERROR: 403 => Net::HTTPForbidden for https://da.bundaberg.qld.gov.au/ -- unhandled response /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize/http/agent.rb:329:in `fetch' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize.rb:464:in `get' /app/lib/masterview_scraper.rb:91:in `scrape_api_period' /app/lib/masterview_scraper.rb:48:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:39:in `<main>' Collecting feed data for albury... wingecarribee: ERROR: Failed to open TCP connection to datracker.wsc.nsw.gov.au:443 (getaddrinfo: Name or service not known) /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:939:in `rescue in block in connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:936:in `block in connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/timeout.rb:93:in `block in timeout' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/timeout.rb:103:in `timeout' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:935:in `connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:920:in `do_start' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:915:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:655:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:595:in `connection_for' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:885:in `request' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize/http/agent.rb:280:in `fetch' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize.rb:464:in `get' /app/lib/masterview_scraper.rb:153:in `scrape_url' /app/lib/masterview_scraper.rb:61:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:39:in `<main>' albury: ERROR: execution expired /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `initialize' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `open' Collecting feed data for bogan... /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `block in connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/timeout.rb:103:in `timeout' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:935:in `connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:920:in `do_start' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:915:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:655:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:595:in `connection_for' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:885:in `request' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize/http/agent.rb:280:in `fetch' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize.rb:464:in `get' /app/lib/masterview_scraper.rb:91:in `scrape_api_period' /app/lib/masterview_scraper.rb:48:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:39:in `<main>' bogan: ERROR: execution expired Collecting feed data for lismore... /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `initialize' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `open' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `block in connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/timeout.rb:103:in `timeout' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:935:in `connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:920:in `do_start' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:915:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:655:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:595:in `connection_for' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:885:in `request' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize/http/agent.rb:280:in `fetch' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize.rb:464:in `get' /app/lib/masterview_scraper.rb:91:in `scrape_api_period' /app/lib/masterview_scraper.rb:48:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:39:in `<main>' Saving record 13.2022.22.1 - 114 Pelican Creek Rd, South Gundurimba NSW 2480 Saving record 5.2023.283.2 - 75A Conway St, Lismore NSW 2480 Saving record 5.2003.1062.2 - 64 Conway St, Lismore NSW 2480 Saving record 5.2025.9.1 - 117 Lockton Rd, Bexhill NSW 2480 Saving record 5.2024.338.1 - 17 Keoghan Dr, Goonellabah NSW 2480 Saving record 5.2025.6.1 - 125 Mckinnon Rd, Boat Harbour NSW 2480 Saving record 5.2024.336.1 - 29 Muller Rd, Tregeagle NSW 2480 Saving record 5.2025.5.1 - 14 Pinecrest Dr, Goonellabah NSW 2480 Saving record 5.2024.337.1 - 180 Wilson St, South Lismore NSW 2480 Saving record 10.2024.337.1 - 180 Wilson St, South Lismore NSW 2480 Saving record 5.2025.8.1 - 70 Hillcrest Ave, Goonellabah NSW 2480 Saving record 10.2024.122.1 - 10 Elliott Rd, South Lismore NSW 2480 Saving record 5.2024.313.1 - 44 Uralba St, Lismore NSW 2480 Saving record 5.2024.333.1 - 27 Haywood Lane, Lagoon Grass NSW 2480 Saving record 5.2025.7.1 - 3 Eleanor Pl, Mcleans Ridges NSW 2480 Saving record 5.2024.331.1 - 22 Barrys Rd, Modanville NSW 2480 Saving record 5.2024.324.1 - 21A Elton St, Girards Hill NSW 2480 Saving record 5.2005.650.4 - 463 Tuntable Creek Rd, Tuntable Creek NSW 2480 Saving record 5.2025.3.1 - 12 Canary Dr, Goonellabah NSW 2480 Saving record 13.2010.311.2 - 362 Koonorigan Rd, Koonorigan NSW 2480 Saving record 5.2024.334.1 - 25 Uralba St, Lismore NSW 2480 Saving record 5.2025.2.1 - 37 Wyrallah Rd, Girards Hill NSW 2480 Saving record 10.2024.47.1 - 130 Cameron Rd, Mcleans Ridges NSW 2480 Saving record 5.2024.335.1 - 18 Pamela Dr, Chilcotts Grass NSW 2480 Collecting feed data for port_macquarie_hastings... lismore: ERROR: Unexpected field in: Determination Type: /app/lib/masterview_scraper/pages/detail.rb:198:in `block in extract_decision_block' /app/lib/masterview_scraper/pages/detail.rb:189:in `each' /app/lib/masterview_scraper/pages/detail.rb:189:in `extract_decision_block' /app/lib/masterview_scraper/pages/detail.rb:209:in `scrape_new_version' /app/lib/masterview_scraper/pages/detail.rb:12:in `scrape' /app/lib/masterview_scraper.rb:112:in `block in scrape_api_period' /app/lib/masterview_scraper/get_applications_api.rb:23:in `block in scrape' /app/lib/masterview_scraper/get_applications_api.rb:60:in `block in scrape_page' /app/lib/masterview_scraper/get_applications_api.rb:54:in `each' /app/lib/masterview_scraper/get_applications_api.rb:54:in `scrape_page' /app/lib/masterview_scraper/get_applications_api.rb:18:in `scrape' /app/lib/masterview_scraper.rb:97:in `scrape_api_period' /app/lib/masterview_scraper.rb:48:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:39:in `<main>' port_macquarie_hastings: ERROR: execution expired Collecting feed data for port_stephens... /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `initialize' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `open' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `block in connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/timeout.rb:103:in `timeout' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:935:in `connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:920:in `do_start' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:915:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:655:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:595:in `connection_for' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:885:in `request' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize/http/agent.rb:280:in `fetch' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize.rb:464:in `get' /app/lib/masterview_scraper.rb:91:in `scrape_api_period' /app/lib/masterview_scraper.rb:48:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:39:in `<main>' Collecting feed data for singleton... port_stephens: ERROR: execution expired /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `initialize' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `open' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:937:in `block in connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/timeout.rb:103:in `timeout' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:935:in `connect' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:920:in `do_start' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/net/http.rb:915:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:655:in `start' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:595:in `connection_for' /app/vendor/bundle/ruby/2.5.0/gems/net-http-persistent-4.0.1/lib/net/http/persistent.rb:885:in `request' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize/http/agent.rb:280:in `fetch' /app/vendor/bundle/ruby/2.5.0/gems/mechanize-2.7.7/lib/mechanize.rb:464:in `get' /app/lib/masterview_scraper.rb:91:in `scrape_api_period' /app/lib/masterview_scraper.rb:48:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:39:in `<main>' Saving record 15.2025.3.1 - 56 Gresford Rd, Clydesdale NSW 2330 Saving record 15.2025.2.1 - 7 Dyrring Rd, Fern Gully NSW 2330 Saving record 8.2024.332.1 - 97 Dimmock St, Hunterview NSW 2330 Saving record 8.2025.9.1 - 41 Dimmock St, Hunterview NSW 2330 singleton: ERROR: Unexpected field in: Determination Type: Collecting feed data for camden... /app/lib/masterview_scraper/pages/detail.rb:198:in `block in extract_decision_block' /app/lib/masterview_scraper/pages/detail.rb:189:in `each' /app/lib/masterview_scraper/pages/detail.rb:189:in `extract_decision_block' /app/lib/masterview_scraper/pages/detail.rb:209:in `scrape_new_version' /app/lib/masterview_scraper/pages/detail.rb:12:in `scrape' /app/lib/masterview_scraper.rb:112:in `block in scrape_api_period' /app/lib/masterview_scraper/get_applications_api.rb:23:in `block in scrape' /app/lib/masterview_scraper/get_applications_api.rb:60:in `block in scrape_page' /app/lib/masterview_scraper/get_applications_api.rb:54:in `each' /app/lib/masterview_scraper/get_applications_api.rb:54:in `scrape_page' /app/lib/masterview_scraper/get_applications_api.rb:18:in `scrape' /app/lib/masterview_scraper.rb:97:in `scrape_api_period' /app/lib/masterview_scraper.rb:48:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:39:in `<main>' camden: ERROR: 765: unexpected token at '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="en-US"> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" /> <title> Authority e-Services - live </title> <link rel="stylesheet" href="/eservice/library/bootstrap-3.4.1.min.css" type="text/css" media="screen, projection, print" > <link rel="stylesheet" href="/eservice/library/jquery-ui.min.css" type="text/css" media="screen, projection, print" > <link rel="stylesheet" href="/eservice/library/jquery-ui.structure.min.css" type="text/css" media="screen, projection, print" > <link rel="stylesheet" href="/eservice/library/jquery-ui.theme.min.css" type="text/css" media="screen, projection, print" > <link rel="stylesheet" href="/eservice/library/e-services.css" type="text/css" media="screen, projection, print" > <link rel="stylesheet" href="/eservice/library/calendar.css" type="text/css" media="screen, projection, print" > <link rel="stylesheet" href="/eservice/library/daEnquiry_daEnquiry.css" id="pagecss" type="text/css" media="screen, projection" > <link rel="stylesheet" href="/eservice/library/e-print.css" type="text/css" media="print" > <link rel="stylesheet" href="/eservice/library/header-eserv.css" type="text/css" media="screen, projection, print" > <link rel="stylesheet" href="/council/eservice/custom.css" type="text/css" media="screen, projection, print" > <script>var AUTHJS = {};AUTHJS.productName = "i-Services";</script> <script type="text/javascript" src="/eservice/jscalendar-1.0/calendar.js"></script> <script type="text/javascript" src="/eservice/javascript/jquery/jquery-3.6.0.min.js"></script> <script>AUTHJS.productName = "e-Services";</script> <script type="text/javascript" src="/eservice/javascript/tether-1.3.3.js"></script> <script type="text/javascript" src="/eservice/javascript/modernizr-283.min.js"></script> <script type="text/javascript" src="/eservice/javascript/jquery/bootstrap-3.4.1.js"></script> <script type="text/javascript" src="/eservice/javascript/jquery/jquery-ui.min.js"></script> <script type="text/javascript" src="/eservice/javascript/e-services-page.js"></script> <script type="text/javascript" src="/eservice/javascript/prototype.js"></script> <script type="text/javascript" src="/eservice/javascript/civica.jquery.plugins.js"></script> <script type="text/javascript" src="/eservice/javascript/civica.common.init.js"></script> <script type="text/javascript" src="/eservice/javascript/civica.jquery.functions.js"></script> <script type="text/javascript" src="/eservice/javascript/util.js"></script> <script type="text/javascript" src="/eservice/javascript/json2.js"></script> <script type="text/javascript" src="/eservice/javascript/effects.js"></script> <script type="text/javascript" src="/eservice/javascript/controls.js"></script> <script type="text/javascript" src="/eservice/javascript/dragdrop.js"></script> <script type="text/javascript" src="/eservice/javascript/lightbox.js"></script> <script type="text/javascript" src="/eservice/javascript/menu.js"></script> <script type="text/javascript" src="/eservice/javascript/menuScroll.js"></script> <script type="text/javascript" src="/eservice/javascript/sitemap.js"></script> <script type="text/javascript" src="/eservice/javascript/jquery.imageTickBox.js"></script> <script type="text/javascript" src="/eservice/javascript/jquery.metadata.js"></script> <script type="text/javascript" src="/eservice/javascript/jquery/jquery.form-3.46.0.js"></script> <link rel="shortcut icon" href="/favicon.ico" /> <script src="/eservice/javascript/da.js" type="text/javascript"></script> <script src="/eservice/javascript/mkTree.js" type="text/javascript"></script> </head> <body > <script type="text/javascript"> var initialTabPage= "null"; jQuery(document).ready(function() { if (initialTabPage != "null") { if (initialTabPage=="sitemap"){ initialTabPage="#sitemap-controller"; } else { initialTabPage="#dashboard-controller"; } jQuery(initialTabPage + " a.tab-clicker").not(".tabs-content *").click(); } }); (function() { var isBootstrapEvent = false; if (window.jQuery) { var all = jQuery('*'); jQuery.each(['hide.bs.dropdown', 'hide.bs.collapse', 'hide.bs.modal', 'hide.bs.tooltip', 'hide.bs.popover', 'hide.bs.tab'], function(index, eventName) { all.on(eventName, function( event ) { isBootstrapEvent = true; }); }); } var originalHide = Element.hide; Element.addMethods({ hide: function(element) { if(isBootstrapEvent) { isBootstrapEvent = false; return element; } return originalHide(element); } }); })(); </script> <!-- eServices --> <div id="page" class=" tabbed not-logged-in"> <div id="masthead" class="navbar navbar-static-top bs-docs-nav"> <div class="container" id="masthead-container"> <div class="navbar-header"> <a class="navbar-brand"> <span>e-Services</span> Camden Council </a> </div> <!-- masthead Quicklinks start --> <div id="wrapper-quick-links"> <ul id="quick-links" class="nav navbar-nav navbar-right"> <li class="top-link-home"> <a href="/eservice/navigationStart.do" id="quick-link-home"> Home </a> </li> <li class="top-link-signin"> <a href="/eservice/logonInit.do" id="quick-link-signin"> Sign In </a> </li> <li class="top-link-user"> <a> <!-- masthead User start --> You are a Guest <!-- masthead User end --> </a> </li> </ul> </div> <!-- masthead Quicklinks end --> </div> <!-- End container --> </div> <!-- End Masthead --> <!-- End Masthead navbar --> <div id="content"> <div class="container" id="content-container"> <div class="row" id="main-row"> <div class="col-sm-3" id="bstrap-leftnav"> <div id="search-results" > </div> <div id="admin-tabs" > <div id="dashboard" class="tabs-content"> <!-- START MENU CONTENT --> <div id="menus-toggle"> <div id="menus-button" class="btn btn-default"> <span id="menus-button-inner"> <a id="menus-button-link" href="#">Hide Menus</a> </span> </div> <div id="site-access" class="menu-on"> <ul id="siteaccesspanel"> <li id="siteaccesspanel_1"> <div class="menu-group"> <div class="menu-header-panel" title="Drag to change panel order"> <h3 class="panel-handle">Menu</h3> </div> <p class="menu-handlers"> <a href="/eservice/menu/minimisePanel.do?id=1" title="Minimise Panel" class="panel-min-max" id="panel-min-max-1" > <img src="/eservice/icons/minimise.gif" alt="Minimise" /> </a> </p> <div id="menu-search"> <form action="/eservice/menu/search.do" class="menu-search-form"> <p> <input type="text" size="15" name="search" id="search" class="field" value="Menu Search" /> <input type="submit" id="menu-search-submit" value="Go" class="buttonCalendar" /> <img src="/eservice/icons/loading.gif" alt="loading" class="loading" id="menu-search-loading" /> </p> <!-- div id="search-autocomplete" class="autocompleter"></div --> </form> <div id="search-results" > </div> </div> <div id="scrollingMenuContainer" class="scrolling-container"> <ul id="navigation"> <li class="nav-return" title="Back one menu level"><a href="/eservice/navigationStart.do" id="node-0"><img src="/eservice/icons/parent.gif" alt="Return to " />Applications</a></li> <li class='java'> <a href="/eservice/daEnquiryInit.do?doc_typ=10&nodeNum=3374010" class="linkitem" id="node-3374010">Development Application</a> </li> <li class='java'> <a href="/eservice/daEnquiry/currentlyAdvertised.do?nodeNum=3374975" class="linkitem" id="node-3374975">On Exhibition</a> </li> <li class='java'> <a href="/eservice/daEnquiry/recentlySubmitted.do?rangeType=M&rangeFrom=1&rangeTo=0&nodeNum=3374985" class="linkitem" id="node-3374985">Recently Submitted</a> </li> <li class='java'> <a href="/eservice/daEnquiry/recentlyDetermined.do?num_days=30&nodeNum=3374976" class="linkitem" id="node-3374976">Recently Determined</a> </li> <li class='java'> <a href="/eservice/daEnquiryInit.do?doc_typ=12&nodeNum=3374979" class="linkitem" id="node-3374979">Complying Development Certificate</a> </li> <li class='java'> <a href="/eservice/daEnquiryInit.do?doc_typ=11&nodeNum=3374980" class="linkitem" id="node-3374980">Construction Certificate</a> </li> <li class='java'> <a href="/eservice/daEnquiryInit.do?doc_typ=14&nodeNum=3374982" class="linkitem" id="node-3374982">Subdivision Certificate</a> </li> <li class='java'> <a href="/eservice/daEnquiryInit.do?doc_typ=13&nodeNum=3374986" class="linkitem" id="node-3374986">Occupation Certificate</a> </li> <li class='java'> <a href="/eservice/daEnquiryInit.do?doc_typ=16&nodeNum=3374987" class="linkitem" id="node-3374987">Engineering Construction</a> </li> <li class='java'> <a href="/eservice/daEnquiryInit.do?doc_typ=100&nodeNum=3374981" class="linkitem" id="node-3374981">Tree Development Application</a> </li> <li class='java'> <a href="/eservice/daEnquiryInit.do?doc_typ=27&nodeNum=3374011" class="linkitem" id="node-3374011">Fire Safety Schedule</a> </li> </ul> </div> </div> </li> <li id="siteaccesspanel_3"> <div class="menu-group"> <div class="menu-header-panel" title="Drag to change panel order"> <h3 class="panel-handle">History</h3> </div> <p class="menu-handlers"> <a href="/eservice/menu/movePanel.do?id=2" title="Panel Up" class="panel-up"> <img src="/eservice/icons/panel_move_up.gif" alt="Up" /></a> <a href="/eservice/menu/minimisePanel.do?id=2" title="Minimise Panel" class="panel-min-max" id="panel-min-max-2" > <img src="/eservice/icons/minimise.gif" alt="Minimise" /> </a> </p> <ul id="recently-used"> <li id="recently-used-0"> <a href="/eservice/daEnquiryInit.do?doc_typ=10&nodeNum=3374010" class="linkitem">Development Application</a> </li> </ul> </div> </li> </ul> <script type="text/javascript"> //Drag n Drop panels Sortable.create('siteaccesspanel', {handle: 'panel-handle', onUpdate:function(){new Ajax.Request(webContextPath + '/resequencePanels.do', {method: 'post', parameters:Sortable.serialize('siteaccesspanel')})}}); </script> <p id="scroll-trigger">15</p> <p id="alternate-scroll-trigger"></p> <p id="pixel-height-base-rate-for-list-item">24</p> </div> </div> </div> </div> </div> <div class="col-sm-9" id="bstrap-main"> <div id="main-content"> <div class="transaction-area" id="transaction-area"></div> <!-- END MENU CONTENT --> <div class="unique-content" id="daEnquiry_daEnquiry"> <div class="daEnquirySpecific" id="daEnquiry_daEnquiryDocumentType10"> <h1> Development Application Enquiry </h1> <div id="leftcontent"> <div class="infopanel"> <!-- CIVICA-INFO-START --> <div id="infopanel-header"> <h4 class="entryHeader" > Instructions </h4> </div> <div id="instructions-content" class="instructions"> <p>Enter some search criteria and select Search. If the search you entered does not yield any results, try broadening the search.</p> <p>When searching by the number, please enter the application number followed by the year, as in the example below.</p> </div> <!-- CIVICA-INFO-END --> </div> </div> <div id="rightcontent"> <div class="bodypanel" id="bodypanel1"> <!-- CIVICA-CONTENT-START:bodypanel1 --> <h2 > Details </h2> <?xml version="1.0" encoding="UTF-8"?> <div> <form action="daEnquiry.do" id="daEnquiryForm" name="daEnquiryForm" class="form-horizontal"> <div class="form-group"> <label class="col-sm-2 control-label">DA Number</label> <div class="col-sm-10"> <input type="text" class="text-medium" name="number" id="DANumber" size="10" maxlength="10" errors="DANumber" value="" /> <span class="subText">eg 121/2023</span> </div> </div> <p /> <p class="rowDataOnly"> <span class="rowInfo"> <strong>OR</strong> use any of the following search fields: </span> </p> <p> &nbsp; </p> <h2>Lodgement Date</h2> <div class="form-group" style="margin-bottom:2em; border:none; padding:0"> <div class="form-group" style="margin-bottom:2em"> <label class="radio-inline control-label control-radio" style="margin-left:10px"> <input type="radio" name="lodgeRangeType" id="lodgeRangeType" onclick="javascript:setDateRange('', '', 'DADateFrom', 'DADateTo')" /> Specified Range </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="lodgeRangeType" id="lodgeRangeType" onclick="javascript:setDateRange('19/01/2025','22/01/2025', 'DADateFrom', 'DADateTo')" /> This Week </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="lodgeRangeType" id="lodgeRangeType" onclick="javascript:setDateRange('12/01/2025','18/01/2025', 'DADateFrom', 'DADateTo')" /> Last Week </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="lodgeRangeType" id="lodgeRangeType" onclick="javascript:setDateRange('01/01/2025','31/01/2025', 'DADateFrom', 'DADateTo')" /> This Month </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="lodgeRangeType" id="lodgeRangeType" onclick="javascript:setDateRange('01/12/2024','31/12/2024', 'DADateFrom', 'DADateTo')" /> Last Month </label> </div> </div> <div class="form-group"> <div id="DADate"> <label class="col-sm-2 control-label" for="DADateFrom" id="daFromDateLabel">From</label> <div class="form-inline col-sm-10"> <input type="text" class="datepick text-small form-control" name="dateFrom" id="DADateFrom" style="padding-right: 0px" size="10" maxlength="10" errors="DADateFrom" value="" /> <label for="DADateTo" id="daToDateLabel">To</label> <input type="text" class="datepick text-small form-control" name="dateTo" id="DADateTo" style="padding-right: 0px" size="10" maxlength="10" errors="DADateTo" value="" /> </div> </div> </div> <h2>Determination Date</h2> <div class="form-group" style="margin-bottom:2em; border:none; padding:0"> <div class="form-group" style="margin-bottom:2em"> <label class="radio-inline control-label control-radio" style="margin-left:10px"> <input type="radio" name="detRangeType" id="detRangeType" onclick="javascript:setDateRange('','', 'detDateFromString', 'detDateToString')" /> Specified Range </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="detRangeType" id="detRangeType" onclick="javascript:setDateRange('19/01/2025','22/01/2025', 'detDateFromString', 'detDateToString')" /> This Week </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="detRangeType" id="detRangeType" onclick="javascript:setDateRange('12/01/2025','18/01/2025', 'detDateFromString', 'detDateToString')" /> Last Week </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="detRangeType" id="detRangeType" onclick="javascript:setDateRange('01/01/2025','31/01/2025', 'detDateFromString', 'detDateToString')" /> This Month </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="detRangeType" id="detRangeType" onclick="javascript:setDateRange('01/12/2024','31/12/2024', 'detDateFromString', 'detDateToString')" /> Last Month </label> </div> </div> <div class="form-group"> <div id="DetDate"> <label class="col-sm-2 control-label" for="detDateFrom" id="detFromDateLabel">From</label> <div class="form-inline col-sm-10" id="detDateFromInput"> <input type="text" class="datepick text-small form-control" name="detDateFrom" id="detDateFromString" style="padding-right: 0px" size="10" maxlength="10" errors="detDateFrom" value="" /> <label for="detDateTo" id="detToDateLabel">To</label> <input type="text" class="datepick text-small form-control" name="detDateTo" id="detDateToString" style="padding-right: 0px" size="10" maxlength="10" errors="detDateTo" value="" /> </div> </div> </div> <h2>Property Details</h2> <div class="form-group" id="streetNameRow"> <label class="control-label col-sm-2" for="streetName">Street Name</label> <div class="col-sm-10"> <input type="text" class="text-large" name="streetName" id="streetName" size="20" onblur="javascript:getHouseNum(); javascript:getSuburb()" value="" /> <div id="streetHints" class="autocompleter"> &nbsp; </div> </div> </div> <div class="form-group" id="suburbDropdownRow"> <label class="control-label col-sm-2" for="suburb">Suburb</label> <div class="col-sm-10"> <div id="suburbSelect"> <select class="select-medium" name="suburb" id="suburb"> <option value="0" selected="selected">- -None Selected- -</option> <option value="2">BICKLEY VALE</option> <option value="1">BRINGELLY</option> <option value="3">CAMDEN</option> <option value="8">CAMDEN SOUTH</option> <option value="4">CATHERINE FIELD</option> <option value="7">CAWDOR</option> <option value="6">COBBITTY</option> <option value="5">CURRANS HILL</option> <option value="9">ELDERSLIE</option> <option value="10">ELLIS LANE</option> <option value="23">GLEDSWOOD HILLS</option> <option value="11">GRASMERE</option> <option value="22">GREGORY HILLS</option> <option value="12">HARRINGTON PARK</option> <option value="13">KIRKHAM</option> <option value="14">LEPPINGTON</option> <option value="24">LEPPINGTON</option> <option value="15">MOUNT ANNAN</option> <option value="16">NARELLAN</option> <option value="17">NARELLAN VALE</option> <option value="18">ORAN PARK</option> <option value="19">ROSSMORE</option> <option value="21">SMEATON GRANGE</option> <option value="20">SPRING FARM</option> <option value="99">UNKNOWN</option> </select> </div> </div> </div> <div class="form-group" id="unitNumberRow"> <label class="control-label col-sm-2" for="unitNum">Unit</label> <div class="col-sm-10"> <input type="text" class="text-mini" name="unitNum" id="unitNum" size="10" value="" /> </div> </div> <div class="form-group" id="houseNumRow"> <label class="control-label col-sm-2" for="houseNum">House No.</label> <div class="col-sm-10"> <div id="houseNumSelect"> <select class="select-medium" name="houseNum" id="houseNum"> <option value="0&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;">- -None Selected- -</option> </select> </div> </div> </div> <div class="form-group" id="planNumberRow"> <label class="control-label col-sm-2" for="planNumber">Plan</label> <div class="col-sm-10"> <input type="text" class="text-small" name="planNumber" id="planNumber" size="10" value="" /> </div> </div> <div class="form-group" id="strataPlanRow"> <label class="control-label col-sm-2" for="strataPlan">Strata Plan</label> <div class="col-sm-10"> <input type="text" class="text-small" name="strataPlan" id="strataPlan" size="10" value="" /> </div> </div> <div class="form-group" id="lotRow"> <label class="control-label col-sm-2" for="lotNumber">Lot</label> <div class="col-sm-10"> <input type="text" class="text-small" name="lotNumber" id="lotNumber" size="10" value="" /> </div> </div> <div class="form-group" id="propertyNameRow"> <label class="control-label col-sm-2" for="propertyName">Place</label> <div class="col-sm-10"> <input type="text" class="text-large" name="propertyName" id="propertyName" size="20" value="" /> </div> </div> <p class="rowDataOnly"> <span class="rowInfo"> <strong>AND</strong> the following search field: </span> </p> <p> &nbsp; </p> <h2>Options</h2> <label class="radio-inline control-label control-radio"> <input type="radio" name="searchMode" value="A" id="searchModeA" checked="checked" /> <span class="indicator" /> All DAs </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="searchMode" value="D" id="searchModeD" /> <span class="indicator" /> Determined DAs </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="searchMode" value="P" id="searchModeP" /> <span class="indicator" /> DAs Awaiting Decision </label> <label class="radio-inline control-label control-radio"> <input type="radio" name="searchMode" value="C" id="searchModeC" /> <span class="indicator" /> On Exhibition </label> <div class="button-panel"> <input type="submit" name="submitButton" class="button" value="Search" onclick="javascript:checkDetDatesMakeSense()" /> <input type="button" name="clearButton" class="button" value="Clear" onclick="javascript:clearDaEnquiryFields()" /> </div> </form> </div> <!-- CIVICA-CONTENT-END:bodypanel1 --> </div> </div> </div> </div> </div> </div> </div> </div> <!-- container --> </div> <!-- content --> <div id="bottom" class="tabbed"> <div class="container" id="bottom-container"> <div class="row"> <div class="footer"> <p>&#169; Camden Council 2018 </p> <p id="web-context-path">/eservice</p> </div> </div> </div> </div> </div> <!-- End page div --> <!-- End Bootstrap eServices --> <!-- iServices --> </body> </html> ' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/json/common.rb:156:in `parse' /app/vendor/ruby-2.5.1/lib/ruby/2.5.0/json/common.rb:156:in `parse' /app/lib/masterview_scraper/get_applications_api.rb:50:in `scrape_page' /app/lib/masterview_scraper/get_applications_api.rb:18:in `scrape' /app/lib/masterview_scraper.rb:97:in `scrape_api_period' /app/lib/masterview_scraper.rb:48:in `scrape_period' /app/lib/masterview_scraper.rb:19:in `scrape' scraper.rb:16:in `block in scrape' scraper.rb:12:in `each' scraper.rb:12:in `scrape' scraper.rb:39:in `<main>' scraper.rb:43:in `<main>': There were errors with the following authorities: [:gunnedah, :fraser_coast, :hawkesbury, :toowoomba, :bundaberg, :wingecarribee, :albury, :bogan, :lismore, :port_macquarie_hastings, :port_stephens, :singleton, :camden]. See earlier output for details (RuntimeError)

Data

Downloaded 80 times by dcalde AndreM101 muzzie86 jamasalbertastash studiology

To download data sign in with GitHub

Download table (as CSV) Download SQLite database (18.8 MB) Use the API

rows 10 / 48854

council_reference address description info_url date_scraped date_received authority_label
10-2021-16-1
2 Angus St, Forbes 2871 NSW
New Garages/Sheds - Industrial
2021-03-16
2021-02-22
forbes
10-2021-15-1
613 Wongajong Rd, Forbes 2871 NSW
New Single Dwelling
2021-03-16
2021-02-18
forbes
10-2021-13-1
1829 Lachlan Valley Wy, Jemalong 2871 NSW
New Single Dwelling
2021-03-16
2021-02-15
forbes
10-2021-14-1
131A Wambat St, Forbes 2871 NSW
New Ancillary Residential Development - Shed
2021-03-16
2021-02-16
forbes
10-2017-80-3
33-37 Sam St, Forbes 2871 NSW
New Commercial Building
2021-03-16
2021-03-03
forbes
10-2021-19-1
36A William St, Forbes 2871 NSW
Patio Cover
2021-03-16
2021-03-05
forbes
10-2021-20-1
2 Rae St, Forbes 2871 NSW
New Ancillary Residential Development-Shed/Carport
2021-03-16
2021-03-05
forbes
10-2021-18-1
12 Acacia Ave, Forbes 2871 NSW
New Ancillary Residential Development-Shed
2021-03-16
2021-03-02
forbes
10-2021-17-1
10 Thelma St, Forbes 2871 NSW
New Ancillary Residential Development - Shed
2021-03-16
2021-03-02
forbes
10-2021-1-1
Ooma St, Forbes 2871 NSW
Ancillary Residential Development - Awning
2021-03-16
2021-02-25
forbes

Statistics

Average successful run time: about 7 hours

Total run time: about 2 months

Total cpu time used: about 4 hours

Total disk space used: 145 MB

History

  • Auto ran revision 028c1c13 and failed .
    84 records added, 74 records removed in the database
  • Auto ran revision 028c1c13 and failed .
    98 records added, 83 records removed in the database
  • Auto ran revision 028c1c13 and failed .
    82 records added, 79 records removed in the database
  • Auto ran revision 028c1c13 and failed .
    104 records added, 104 records removed in the database
  • Auto ran revision 028c1c13 and failed .
    104 records added, 101 records removed in the database
  • ...
  • Created on morph.io

Show complete history

Scraper code

Ruby

multiple_masterview / scraper.rb