D>
04:24:11 WARNING pupa: validation of CanadianPerson d925a180-587b-11eb-8c5a-3aeecc2a039d failed: 1 validation errors:
Value "Ya'ara Saks" for field '<obj>.name' does not match regular expression 'regex.Regex('\\A(?!(?:Chair|Commissioner|Conseiller|Councillor|Deputy|Dr|Hon|M|Maire|Mayor|Miss|Mme|Mr|Mrs|Ms|Regional|Warden)\\b)(?:(?:(?:\\p{Lu}\\.)+|\\p{Lu}+|(?:Jr|Rev|Sr|St)\\.|da|de|den|der|la|van|von|[("](?:\\p{Lu}+|\\p{Lu}\\p{Ll}*(?:-\\p{Lu}\\p{Ll}*)*)[)"]|(?:D\'|d\'|De|de|Des|Di|Du|L\'|La|Le|Mac|Mc|O\'|San|Van|Vander?|vanden)?\\p{Lu}\\p{Ll}+|\\p{Lu}\\p{Ll}+Anne?|Marie\\p{Lu}\\p{Ll}+|Ch\'ng|Prud\'homme|D!ONNE|IsaBelle)(?:\'|-| - | ))+(?:(?:\\p{Lu}\\.)+|\\p{Lu}+|(?:Jr|Rev|Sr|St)\\.|da|de|den|der|la|van|von|[("](?:\\p{Lu}+|\\p{Lu}\\p{Ll}*(?:-\\p{Lu}\\p{Ll}*)*)[)"]|(?:D\'|d\'|De|de|Des|Di|Du|L\'|La|Le|Mac|Mc|O\'|San|Van|Vander?|vanden)?\\p{Lu}\\p{Ll}+|\\p{Lu}\\p{Ll}+Anne?|Marie\\p{Lu}\\p{Ll}+|Ch\'ng|Prud\'homme|D!ONNE|IsaBelle)\\Z', flags=regex.V0)'
|
ca
|
2020-10-27 04:31:27
|
2021-01-17 04:24:11
|
Value "Ya'ara Saks" for field '<obj>.name' does not match regular expression 'regex.Regex('\\A(?!(?:Chair|Commissioner|Conse…
Traceback (most recent call last):
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 175, in validate
validator.validate(self.as_dict(), schema)
File "/app/.heroku/python/lib/python3.6/site-packages/validictory/validator.py", line 620, in validate
raise MultipleValidationError(self._errors)
validictory.validator.MultipleValidationError: 1 validation errors:
Value "Ya'ara Saks" for field '<obj>.name' does not match regular expression 'regex.Regex('\\A(?!(?:Chair|Commissioner|Conseiller|Councillor|Deputy|Dr|Hon|M|Maire|Mayor|Miss|Mme|Mr|Mrs|Ms|Regional|Warden)\\b)(?:(?:(?:\\p{Lu}\\.)+|\\p{Lu}+|(?:Jr|Rev|Sr|St)\\.|da|de|den|der|la|van|von|[("](?:\\p{Lu}+|\\p{Lu}\\p{Ll}*(?:-\\p{Lu}\\p{Ll}*)*)[)"]|(?:D\'|d\'|De|de|Des|Di|Du|L\'|La|Le|Mac|Mc|O\'|San|Van|Vander?|vanden)?\\p{Lu}\\p{Ll}+|\\p{Lu}\\p{Ll}+Anne?|Marie\\p{Lu}\\p{Ll}+|Ch\'ng|Prud\'homme|D!ONNE|IsaBelle)(?:\'|-| - | ))+(?:(?:\\p{Lu}\\.)+|\\p{Lu}+|(?:Jr|Rev|Sr|St)\\.|da|de|den|der|la|van|von|[("](?:\\p{Lu}+|\\p{Lu}\\p{Ll}*(?:-\\p{Lu}\\p{Ll}*)*)[)"]|(?:D\'|d\'|De|de|Des|Di|Du|L\'|La|Le|Mac|Mc|O\'|San|Van|Vander?|vanden)?\\p{Lu}\\p{Ll}+|\\p{Lu}\\p{Ll}+Anne?|Marie\\p{Lu}\\p{Ll}+|Ch\'ng|Prud\'homme|D!ONNE|IsaBelle)\\Z', flags=regex.V0)'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 104, in do_scrape
self.save_object(obj)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 89, in save_object
raise ve
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 85, in save_object
obj.validate()
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 178, in validate
self.__class__.__name__, self._id, ve)
pupa.exceptions.ScrapeValueError: validation of CanadianPerson d925a180-587b-11eb-8c5a-3aeecc2a039d failed: 1 validation errors:
Value "Ya'ara Saks" for field '<obj>.name' does not match regular expression 'regex.Regex('\\A(?!(?:Chair|Commissioner|Conseiller|Councillor|Deputy|Dr|Hon|M|Maire|Mayor|Miss|Mme|Mr|Mrs|Ms|Regional|Warden)\\b)(?:(?:(?:\\p{Lu}\\.)+|\\p{Lu}+|(?:Jr|Rev|Sr|St)\\.|da|de|den|der|la|van|von|[("](?:\\p{Lu}+|\\p{Lu}\\p{Ll}*(?:-\\p{Lu}\\p{Ll}*)*)[)"]|(?:D\'|d\'|De|de|Des|Di|Du|L\'|La|Le|Mac|Mc|O\'|San|Van|Vander?|vanden)?\\p{Lu}\\p{Ll}+|\\p{Lu}\\p{Ll}+Anne?|Marie\\p{Lu}\\p{Ll}+|Ch\'ng|Prud\'homme|D!ONNE|IsaBelle)(?:\'|-| - | ))+(?:(?:\\p{Lu}\\.)+|\\p{Lu}+|(?:Jr|Rev|Sr|St)\\.|da|de|den|der|la|van|von|[("](?:\\p{Lu}+|\\p{Lu}\\p{Ll}*(?:-\\p{Lu}\\p{Ll}*)*)[)"]|(?:D\'|d\'|De|de|Des|Di|Du|L\'|La|Le|Mac|Mc|O\'|San|Van|Vander?|vanden)?\\p{Lu}\\p{Ll}+|\\p{Lu}\\p{Ll}+Anne?|Marie\\p{Lu}\\p{Ll}+|Ch\'ng|Prud\'homme|D!ONNE|IsaBelle)\\Z', flags=regex.V0)'
|
D>
04:04:27 WARNING pupa: could not save RunPlan, no successful runs of ocd-jurisdiction/country:ca/province:ab/legislature yet
|
ca_ab
|
|
2021-01-17 04:04:27
|
IndexError: list index out of range
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/ca_ab/people.py", line 34, in scrape
csv_text = self.get(self.get_csv_url()).text
File "/app/scrapers/ca_ab/people.py", line 92, in get_csv_url
return result_page.xpath('//a[@id="_ctl0_HL_file"]/@href')[0]
IndexError: list index out of range
|
D>
|
ca_ab_calgary
|
2020-06-22 04:42:14
|
2021-01-17 04:33:18
|
AssertionError: No councillors found
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/ca_ab_calgary/people.py", line 14, in scrape
assert len(councillors), 'No councillors found'
AssertionError: No councillors found
|
D>
04:09:27 WARNING pupa: could not save RunPlan, no successful runs of ocd-jurisdiction/country:ca/province:ab/executive yet
|
ca_ab_candidates
|
|
2021-01-17 04:09:27
|
pupa.exceptions.UnresolvedIdError: cannot resolve pseudo id to Post: ~{"label": "Vermilion-Lloydminster-Wainwright", "organi…
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 307, in do_handle
report['import'] = self.do_import(juris, args)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 211, in do_import
report.update(membership_importer.import_directory(datadir))
File "/app/.heroku/src/pupa/pupa/importers/base.py", line 190, in import_directory
return self.import_data(json_stream())
File "/app/.heroku/src/pupa/pupa/importers/base.py", line 227, in import_data
obj_id, what = self.import_item(data)
File "/app/.heroku/src/pupa/pupa/importers/base.py", line 247, in import_item
data = self.prepare_for_db(data)
File "/app/.heroku/src/pupa/pupa/importers/memberships.py", line 50, in prepare_for_db
data['post_id'] = self.post_importer.resolve_json_id(data['post_id'])
File "/app/.heroku/src/pupa/pupa/importers/base.py", line 165, in resolve_json_id
raise UnresolvedIdError(errmsg)
pupa.exceptions.UnresolvedIdError: cannot resolve pseudo id to Post: ~{"label": "Vermilion-Lloydminster-Wainwright", "organization__classification": "executive", "role": "MLA"}
|
C
|
ca_ab_edmonton
|
2021-01-17 04:32:40
|
2021-01-17 04:32:40
|
|
D>
|
ca_ab_grande_prairie
|
2020-05-15 04:13:50
|
2021-01-17 04:33:16
|
KeyError: 'name'
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/utils.py", line 375, in scrape
if not self.is_valid_row(row):
File "/app/scrapers/utils.py", line 336, in is_valid_row
return row['name'] not in empty
KeyError: 'name'
|
C
|
ca_ab_grande_prairie_county_no_1
|
2021-01-17 04:13:03
|
2021-01-17 04:13:03
|
|
C
|
ca_ab_lethbridge
|
2021-01-17 04:13:11
|
2021-01-17 04:13:11
|
|
C
|
ca_ab_strathcona_county
|
2021-01-17 04:04:26
|
2021-01-17 04:04:26
|
|
D>
|
ca_ab_wood_buffalo
|
2020-09-16 04:29:05
|
2021-01-17 04:34:13
|
IndexError: list index out of range
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/ca_ab_wood_buffalo/people.py", line 14, in scrape
mayor_url = page.xpath('//li[@id="pageid1075"]/div/a/@href')[0]
IndexError: list index out of range
|
D>
|
ca_bc
|
2020-11-11 04:48:18
|
2021-01-17 04:26:43
|
pupa.exceptions.UnresolvedIdError: cannot resolve pseudo id to Organization: ~{"classification": "party", "name": "BC Libera…
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 307, in do_handle
report['import'] = self.do_import(juris, args)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 211, in do_import
report.update(membership_importer.import_directory(datadir))
File "/app/.heroku/src/pupa/pupa/importers/base.py", line 190, in import_directory
return self.import_data(json_stream())
File "/app/.heroku/src/pupa/pupa/importers/base.py", line 227, in import_data
obj_id, what = self.import_item(data)
File "/app/.heroku/src/pupa/pupa/importers/base.py", line 247, in import_item
data = self.prepare_for_db(data)
File "/app/.heroku/src/pupa/pupa/importers/memberships.py", line 47, in prepare_for_db
data['organization_id'] = self.org_importer.resolve_json_id(data['organization_id'])
File "/app/.heroku/src/pupa/pupa/importers/base.py", line 165, in resolve_json_id
raise UnresolvedIdError(errmsg)
pupa.exceptions.UnresolvedIdError: cannot resolve pseudo id to Organization: ~{"classification": "party", "name": "BC Liberal Party"}
|
D>
|
ca_bc_abbotsford
|
2020-12-08 04:31:43
|
2021-01-17 04:38:52
|
AssertionError: No councillors found
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/ca_bc_abbotsford/people.py", line 16, in scrape
assert len(councillors), 'No councillors found'
AssertionError: No councillors found
|
D>
|
ca_bc_burnaby
|
2020-07-13 04:43:30
|
2021-01-17 04:07:52
|
Exception: No email node in b'<div id="content" class="clear"> \n \n <div class="page_title_tools"> \n …
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/ca_bc_burnaby/people.py", line 21, in scrape
email = self.get_email(content_node)
File "/app/scrapers/utils.py", line 137, in get_email
raise Exception('No email node in {}'.format(etree.tostring(node)))
Exception: No email node in b'<div id="content" class="clear"> \n \n <div class="page_title_tools"> \n <h1 id="pagetitle">Councillor Nick Volkow</h1> \n <div id="pagetools"> \n <div id="sharethis"> \n <a bookmark.php="" www.addthis.com="" http:="" href="https://www.burnaby.ca/Our-City-Hall/Mayor---Council/Council-Profiles/Councillor-Nick-Volkow.html" class="addthis_button Share"><img src="https://www.burnaby.ca/Sites/3/templates/images/cob/sharethis.gif" width="87" height="13" alt="Share This" /></a> \n <script type="text/javascript">var addthis_config = {"data_track_clickback":true, "ui_delay": 300};</script> \n <script type="text/javascript" src="https://s7.addthis.com/js/250/addthis_widget.js#pubid=ra-4e00c940198f7680"></script> \n </div> \n <div id="print" title="Print"><a href="javascript: ipjOpenPrintPage(\'/Our-City-Hall/Mayor---Council/Council-Profiles/Councillor-Nick-Volkow.html?PageMode=Print\');" class="ipb">Print</a></div> \n </div> \n </div><!-- CONTENT CONTROL START --><div class="notification"> \n<h3>City grieves loss of Councillor Nick Volkow</h3> \n<p>June 22, 2020 - We are deeply saddened to announce the passing of Burnaby City Councillor Nick Volkow. <a href="https://www.burnaby.ca/About-Burnaby/News-and-Media/Newsroom/City-grieves-loss-of-Councillor-Nick-Volkow_s2_p7417.html" title="Read more »">Read more »</a></p> \n<p>Councillor Volkow’s profile will be available on this page until his Council seat is filled in a future by-election.</p> \n</div> \n<div style="width: 45%; margin-bottom: 5%; margin-left: 5%; float: right;"> \n<img style="width: 100%; max-width: 290px;" alt="Councillor Nick Volkow" src="https://www.burnaby.ca/Assets/our+city+hall/mayor+and+council/council+profiles/Councillor+Nick+Volkow.jpg" /> \n</div> \n<p>I first sought election to Council in 1996 because I wanted to help the City move forward on creating more opportunities for young people to gather and play in safe, supportive environments. My own children were young, and I wanted to make sure that they and other young people had the infrastructure and resources to help them grow and learn.</p> \n<p>With support from the City, I helped to develop the four <a href="https://www.burnaby.ca/Things-To-Do/Community-Centres/Youth-Centres.html" title="Youth Centres">youth centres</a> we have today - one in each of the four quadrants of the City – and two skateboard parks. Confederation Skate Park became a model for community involvement as the youth who would ultimately use it helped to create its design. The <a href="https://www.burnaby.ca/About-Burnaby/About/Awards/IOC-IAKS-Bronze-Award.html" title="IOC-IAKS Bronze Award">Bonsor Park Metro Youth Park</a> is an award-winning facility, providing an important space for young people to connect and enjoy sports in a way that suits them best.</p> \n<p>As a member of the <a href="https://www.burnaby.ca/Our-City-Hall/Mayor---Council/Boards--Committees---Commissions/Parks-Recreation-And-Culture-Commission.html" title="Parks, Recreation & Culture Commission">Parks Commission</a> between 1988 and 1993 I was able to bring attention to the state of Burnaby Lake. The Lake had filled with sediment, much of it contaminated with elevated levels of metals and hydrocarbon.  Eventually, the City undertook a $20 million project to dredge the lake, removing about 180,000 tonnes of sediment and saving this important local and regional asset.</p> \n<p>The <a href="https://www.burnaby.ca/About-Burnaby/About/Awards/APEGBC-Environment-Award.html" title="APEGBC Environment Award">award-winning dredging</a> provides multiple benefits to the ecosystem of the lake, which is on the Pacific Flyway, a significant migration route for birds. As a result of dredging, the lake has improved water quality, better fish passage, enhanced wildlife habitat and excellent opportunities for rowing, kayaking and canoeing.</p> \n<p>Further benefits were achieved by cleaning the dredged soil and using it as fill for nearby playing fields. This provided significant savings in the cost of transporting soil and avoided the environmental impact of trucking. We also achieved the benefit of better-quality surfaces on Burnaby playing fields.</p> \n<p>My children are now adults and I am the proud grandfather of two girls and five boys, but my interest in making Burnaby a great place for families is as strong as ever.  </p> \n<p>In my previous role as chair of the Transportation Committee I worked hard to improve and expand cycling opportunities, and I continue to advocate for better connections across the city. With projects like the <a href="https://www.burnaby.ca/Things-To-Do/Explore-Outdoors/Bike-Routes-And-Urban-Trails/Central-Valley-Greenway.html" title="Central Valley Greenway">Central Valley Greenway</a>, the 24-kilometre cycling and walking path that runs near the Millennium Line SkyTrain through Vancouver, Burnaby and New Westminster, we are making progress in linking parks, shopping, workplaces and major transit hubs. </p> \n<p>Three new pedestrian overpasses have helped encourage active transportation and improved safety for pedestrians, cyclists and drivers.</p> \n<p>In the current Council I am proud to serve as a member of the <a href="https://www.burnaby.ca/Our-City-Hall/Mayor---Council/Boards--Committees---Commissions/Executive-Committee-of-Council.html" title="Executive Committee of Council">Executive Committee</a> and as an alternative Director to Metro Vancouver.</p> \n<h4>Memberships and Community Links</h4> \n<ul> \n <li>36-year Canada Safeway employee </li> \n <li>Past-member, Ex-Brits Red Lions Rugby Club </li> \n <li>Member of “<a href="http://www.cafs.ca/million-mile-club/past-inductees.pdf" title="Million Mile Club" target="_blank">Million Mile Club</a>”, Canadian Association of Fleet Supervisors </li> \n <li>Council liaison, Engineering Department and Fire Department</li> \n <li>Member, <a href="https://www.burnaby.ca/Our-City-Hall/Mayor---Council/Boards--Committees---Commissions/Community-Heritage-Commission.html" title="Community Heritage Commission" target="_blank">Community Heritage Commission</a></li> \n <li>Past-member, North Fraser Harbour Commission (1993–1996)</li> \n <li>Member, <a href="https://www.burnaby.ca/Our-City-Hall/Mayor---Council/Boards--Committees---Commissions/Executive-Committee-of-Council.html" title="Executive Committee of Council">Executive Committee</a></li> \n <li>Alternative Director, Metro Vancouver</li> \n</ul><!-- CONTENT CONTROL END --></div> \n \n'
|
D>
|
ca_bc_coquitlam
|
2020-10-08 04:35:56
|
2021-01-17 04:01:17
|
scrapelib.HTTPError: 404 while retrieving https://www.coquitlam.ca/city-hall/mayor-and-council/mayor-and-council.aspx
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/ca_bc_coquitlam/people.py", line 10, in scrape
page = self.lxmlize(COUNCIL_PAGE)
File "/app/scrapers/utils.py", line 180, in lxmlize
response = self.get(url, cookies=cookies)
File "/app/scrapers/utils.py", line 172, in get
return super().get(*args, verify=SSL_VERIFY, **kwargs)
File "/app/.heroku/python/lib/python3.6/site-packages/requests/sessions.py", line 537, in get
return self.request('GET', url, **kwargs)
File "/app/.heroku/python/lib/python3.6/site-packages/scrapelib/__init__.py", line 292, in request
raise HTTPError(resp)
scrapelib.HTTPError: 404 while retrieving https://www.coquitlam.ca/city-hall/mayor-and-council/mayor-and-council.aspx
|
C
|
ca_bc_kelowna
|
2021-01-17 04:13:02
|
2021-01-17 04:13:02
|
|
C
|
ca_bc_langley
|
2021-01-17 04:13:07
|
2021-01-17 04:13:07
|
|
C
|
ca_bc_municipalities
|
2021-01-17 04:32:19
|
2021-01-17 04:32:20
|
|
C
|
ca_bc_municipalities_candidates
|
2021-01-17 04:33:55
|
2021-01-17 04:33:56
|
|
C
|
ca_bc_new_westminster
|
2021-01-17 04:02:18
|
2021-01-17 04:02:18
|
|
C
|
ca_bc_richmond
|
2021-01-17 04:07:42
|
2021-01-17 04:07:42
|
|
D>
04:04:31 WARNING pupa: could not save RunPlan, no successful runs of ocd-jurisdiction/country:ca/csd:5917021/legislature yet
|
ca_bc_saanich
|
|
2021-01-17 04:04:31
|
pupa.exceptions.ScrapeError: no objects returned from SaanichPersonScraper scrape
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 108, in do_scrape
raise ScrapeError('no objects returned from {} scrape'.format(self.__class__.__name__))
pupa.exceptions.ScrapeError: no objects returned from SaanichPersonScraper scrape
|
D>
|
ca_bc_surrey
|
2020-09-02 04:23:06
|
2021-01-17 04:05:46
|
AssertionError: No members found
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/ca_bc_surrey/people.py", line 13, in scrape
assert len(members), 'No members found'
AssertionError: No members found
|
C
|
ca_bc_vancouver
|
2021-01-17 04:07:43
|
2021-01-17 04:07:43
|
|
D>
|
ca_bc_victoria
|
2020-04-28 04:01:47
|
2021-01-17 04:05:24
|
KeyError: 'primary role'
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/utils.py", line 394, in scrape
role = row['primary role']
KeyError: 'primary role'
|
C
|
ca_candidates
|
2021-01-17 04:08:24
|
2021-01-17 04:08:24
|
|
C
|
ca_mb
|
2021-01-17 04:09:24
|
2021-01-17 04:09:24
|
|
D>
04:25:00 WARNING pupa: could not save RunPlan, no successful runs of ocd-jurisdiction/country:ca/province:mb/executive yet
|
ca_mb_candidates
|
|
2021-01-17 04:25:00
|
pupa.exceptions.UnresolvedIdError: cannot resolve pseudo id to Post: ~{"label": "River East", "organization__classification"…
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 307, in do_handle
report['import'] = self.do_import(juris, args)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 211, in do_import
report.update(membership_importer.import_directory(datadir))
File "/app/.heroku/src/pupa/pupa/importers/base.py", line 190, in import_directory
return self.import_data(json_stream())
File "/app/.heroku/src/pupa/pupa/importers/base.py", line 227, in import_data
obj_id, what = self.import_item(data)
File "/app/.heroku/src/pupa/pupa/importers/base.py", line 247, in import_item
data = self.prepare_for_db(data)
File "/app/.heroku/src/pupa/pupa/importers/memberships.py", line 50, in prepare_for_db
data['post_id'] = self.post_importer.resolve_json_id(data['post_id'])
File "/app/.heroku/src/pupa/pupa/importers/base.py", line 165, in resolve_json_id
raise UnresolvedIdError(errmsg)
pupa.exceptions.UnresolvedIdError: cannot resolve pseudo id to Post: ~{"label": "River East", "organization__classification": "executive", "role": "candidate"}
|
C
|
ca_mb_winnipeg
|
2021-01-17 04:04:30
|
2021-01-17 04:04:30
|
|
D>
|
ca_municipalities
|
|
2021-01-17 04:10:36
|
pupa.exceptions.SameNameError: multiple people with same name "Peter Brown" in Jurisdiction - must provide birth_date to dis…
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 307, in do_handle
report['import'] = self.do_import(juris, args)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 207, in do_import
report.update(person_importer.import_directory(datadir))
File "/app/.heroku/src/pupa/pupa/importers/base.py", line 190, in import_directory
return self.import_data(json_stream())
File "/app/.heroku/src/pupa/pupa/importers/base.py", line 226, in import_data
for json_id, data in self._prepare_imports(data_items):
File "/app/.heroku/src/pupa/pupa/importers/people.py", line 33, in _prepare_imports
raise SameNameError(name)
pupa.exceptions.SameNameError: multiple people with same name "Peter Brown" in Jurisdiction - must provide birth_date to disambiguate
|
C
|
ca_nb
|
2021-01-17 04:05:22
|
2021-01-17 04:05:23
|
|
C
|
ca_nb_fredericton
|
2021-01-17 04:38:44
|
2021-01-17 04:38:44
|
|
D>
04:04:28 WARNING pupa: validation of CanadianPerson 185e74ba-5879-11eb-8c5a-3aeecc2a039d failed: 1 validation errors:
Value 'vacant vacant' for field '<obj>.name' does not match regular expression 'regex.Regex('\\A(?!(?:Chair|Commissioner|Conseiller|Councillor|Deputy|Dr|Hon|M|Maire|Mayor|Miss|Mme|Mr|Mrs|Ms|Regional|Warden)\\b)(?:(?:(?:\\p{Lu}\\.)+|\\p{Lu}+|(?:Jr|Rev|Sr|St)\\.|da|de|den|der|la|van|von|[("](?:\\p{Lu}+|\\p{Lu}\\p{Ll}*(?:-\\p{Lu}\\p{Ll}*)*)[)"]|(?:D\'|d\'|De|de|Des|Di|Du|L\'|La|Le|Mac|Mc|O\'|San|Van|Vander?|vanden)?\\p{Lu}\\p{Ll}+|\\p{Lu}\\p{Ll}+Anne?|Marie\\p{Lu}\\p{Ll}+|Ch\'ng|Prud\'homme|D!ONNE|IsaBelle)(?:\'|-| - | ))+(?:(?:\\p{Lu}\\.)+|\\p{Lu}+|(?:Jr|Rev|Sr|St)\\.|da|de|den|der|la|van|von|[("](?:\\p{Lu}+|\\p{Lu}\\p{Ll}*(?:-\\p{Lu}\\p{Ll}*)*)[)"]|(?:D\'|d\'|De|de|Des|Di|Du|L\'|La|Le|Mac|Mc|O\'|San|Van|Vander?|vanden)?\\p{Lu}\\p{Ll}+|\\p{Lu}\\p{Ll}+Anne?|Marie\\p{Lu}\\p{Ll}+|Ch\'ng|Prud\'homme|D!ONNE|IsaBelle)\\Z', flags=regex.V0)'
|
ca_nb_moncton
|
2020-04-28 04:17:29
|
2021-01-17 04:04:28
|
Value 'vacant vacant' for field '<obj>.name' does not match regular expression 'regex.Regex('\\A(?!(?:Chair|Commissioner|Con…
Traceback (most recent call last):
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 175, in validate
validator.validate(self.as_dict(), schema)
File "/app/.heroku/python/lib/python3.6/site-packages/validictory/validator.py", line 620, in validate
raise MultipleValidationError(self._errors)
validictory.validator.MultipleValidationError: 1 validation errors:
Value 'vacant vacant' for field '<obj>.name' does not match regular expression 'regex.Regex('\\A(?!(?:Chair|Commissioner|Conseiller|Councillor|Deputy|Dr|Hon|M|Maire|Mayor|Miss|Mme|Mr|Mrs|Ms|Regional|Warden)\\b)(?:(?:(?:\\p{Lu}\\.)+|\\p{Lu}+|(?:Jr|Rev|Sr|St)\\.|da|de|den|der|la|van|von|[("](?:\\p{Lu}+|\\p{Lu}\\p{Ll}*(?:-\\p{Lu}\\p{Ll}*)*)[)"]|(?:D\'|d\'|De|de|Des|Di|Du|L\'|La|Le|Mac|Mc|O\'|San|Van|Vander?|vanden)?\\p{Lu}\\p{Ll}+|\\p{Lu}\\p{Ll}+Anne?|Marie\\p{Lu}\\p{Ll}+|Ch\'ng|Prud\'homme|D!ONNE|IsaBelle)(?:\'|-| - | ))+(?:(?:\\p{Lu}\\.)+|\\p{Lu}+|(?:Jr|Rev|Sr|St)\\.|da|de|den|der|la|van|von|[("](?:\\p{Lu}+|\\p{Lu}\\p{Ll}*(?:-\\p{Lu}\\p{Ll}*)*)[)"]|(?:D\'|d\'|De|de|Des|Di|Du|L\'|La|Le|Mac|Mc|O\'|San|Van|Vander?|vanden)?\\p{Lu}\\p{Ll}+|\\p{Lu}\\p{Ll}+Anne?|Marie\\p{Lu}\\p{Ll}+|Ch\'ng|Prud\'homme|D!ONNE|IsaBelle)\\Z', flags=regex.V0)'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 104, in do_scrape
self.save_object(obj)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 89, in save_object
raise ve
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 85, in save_object
obj.validate()
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 178, in validate
self.__class__.__name__, self._id, ve)
pupa.exceptions.ScrapeValueError: validation of CanadianPerson 185e74ba-5879-11eb-8c5a-3aeecc2a039d failed: 1 validation errors:
Value 'vacant vacant' for field '<obj>.name' does not match regular expression 'regex.Regex('\\A(?!(?:Chair|Commissioner|Conseiller|Councillor|Deputy|Dr|Hon|M|Maire|Mayor|Miss|Mme|Mr|Mrs|Ms|Regional|Warden)\\b)(?:(?:(?:\\p{Lu}\\.)+|\\p{Lu}+|(?:Jr|Rev|Sr|St)\\.|da|de|den|der|la|van|von|[("](?:\\p{Lu}+|\\p{Lu}\\p{Ll}*(?:-\\p{Lu}\\p{Ll}*)*)[)"]|(?:D\'|d\'|De|de|Des|Di|Du|L\'|La|Le|Mac|Mc|O\'|San|Van|Vander?|vanden)?\\p{Lu}\\p{Ll}+|\\p{Lu}\\p{Ll}+Anne?|Marie\\p{Lu}\\p{Ll}+|Ch\'ng|Prud\'homme|D!ONNE|IsaBelle)(?:\'|-| - | ))+(?:(?:\\p{Lu}\\.)+|\\p{Lu}+|(?:Jr|Rev|Sr|St)\\.|da|de|den|der|la|van|von|[("](?:\\p{Lu}+|\\p{Lu}\\p{Ll}*(?:-\\p{Lu}\\p{Ll}*)*)[)"]|(?:D\'|d\'|De|de|Des|Di|Du|L\'|La|Le|Mac|Mc|O\'|San|Van|Vander?|vanden)?\\p{Lu}\\p{Ll}+|\\p{Lu}\\p{Ll}+Anne?|Marie\\p{Lu}\\p{Ll}+|Ch\'ng|Prud\'homme|D!ONNE|IsaBelle)\\Z', flags=regex.V0)'
|
C
|
ca_nb_municipalities
|
2021-01-17 04:41:03
|
2021-01-17 04:41:04
|
|
C
|
ca_nb_saint_john
|
2021-01-17 04:32:41
|
2021-01-17 04:32:41
|
|
C
|
ca_nl
|
2021-01-17 04:06:31
|
2021-01-17 04:06:31
|
|
D>
|
ca_nl_st_john_s
|
2021-01-07 04:20:30
|
2021-01-17 04:33:19
|
IndexError: list index out of range
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/ca_nl_st_john_s/people.py", line 38, in scrape
email = self.get_email(fields[4])
IndexError: list index out of range
|
C
|
ca_ns
|
2021-01-17 04:02:14
|
2021-01-17 04:02:14
|
|
D>
|
ca_ns_cape_breton
|
2020-11-23 04:19:21
|
2021-01-17 04:24:25
|
pupa.exceptions.SameNameError: multiple people with same name "Lorne Green" in Jurisdiction - must provide birth_date to dis…
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 307, in do_handle
report['import'] = self.do_import(juris, args)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 207, in do_import
report.update(person_importer.import_directory(datadir))
File "/app/.heroku/src/pupa/pupa/importers/base.py", line 190, in import_directory
return self.import_data(json_stream())
File "/app/.heroku/src/pupa/pupa/importers/base.py", line 226, in import_data
for json_id, data in self._prepare_imports(data_items):
File "/app/.heroku/src/pupa/pupa/importers/people.py", line 33, in _prepare_imports
raise SameNameError(name)
pupa.exceptions.SameNameError: multiple people with same name "Lorne Green" in Jurisdiction - must provide birth_date to disambiguate
|
D>
|
ca_ns_halifax
|
2020-11-13 04:40:55
|
2021-01-17 04:24:47
|
pupa.exceptions.UnresolvedIdError: cannot resolve pseudo id to Post: ~{"label": "Cole Harbour\u2014Westphal\u2014Lake Loon\u…
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 307, in do_handle
report['import'] = self.do_import(juris, args)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 211, in do_import
report.update(membership_importer.import_directory(datadir))
File "/app/.heroku/src/pupa/pupa/importers/base.py", line 190, in import_directory
return self.import_data(json_stream())
File "/app/.heroku/src/pupa/pupa/importers/base.py", line 227, in import_data
obj_id, what = self.import_item(data)
File "/app/.heroku/src/pupa/pupa/importers/base.py", line 247, in import_item
data = self.prepare_for_db(data)
File "/app/.heroku/src/pupa/pupa/importers/memberships.py", line 50, in prepare_for_db
data['post_id'] = self.post_importer.resolve_json_id(data['post_id'])
File "/app/.heroku/src/pupa/pupa/importers/base.py", line 165, in resolve_json_id
raise UnresolvedIdError(errmsg)
pupa.exceptions.UnresolvedIdError: cannot resolve pseudo id to Post: ~{"label": "Cole Harbour\u2014Westphal\u2014Lake Loon\u2014Cherry Brook", "organization__classification": "legislature", "role": "Councillor"}
|
C
|
ca_on
|
2021-01-17 04:12:55
|
2021-01-17 04:12:55
|
|
C
|
ca_on_ajax
|
2021-01-17 04:05:26
|
2021-01-17 04:05:26
|
|
D>
|
ca_on_belleville
|
2020-08-06 04:02:08
|
2021-01-17 04:32:25
|
scrapelib.HTTPError: 404 while retrieving https://www.belleville.ca/city-hall/page/city-council
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/ca_on_belleville/people.py", line 13, in scrape
page = self.lxmlize(COUNCIL_PAGE)
File "/app/scrapers/utils.py", line 180, in lxmlize
response = self.get(url, cookies=cookies)
File "/app/scrapers/utils.py", line 172, in get
return super().get(*args, verify=SSL_VERIFY, **kwargs)
File "/app/.heroku/python/lib/python3.6/site-packages/requests/sessions.py", line 537, in get
return self.request('GET', url, **kwargs)
File "/app/.heroku/python/lib/python3.6/site-packages/scrapelib/__init__.py", line 292, in request
raise HTTPError(resp)
scrapelib.HTTPError: 404 while retrieving https://www.belleville.ca/city-hall/page/city-council
|
C
|
ca_on_brampton
|
2021-01-17 04:32:26
|
2021-01-17 04:32:26
|
|
C
|
ca_on_brantford
|
2021-01-17 04:12:57
|
2021-01-17 04:12:57
|
|
D>
|
ca_on_burlington
|
2020-04-28 04:17:23
|
2021-01-17 04:41:06
|
scrapelib.HTTPError: 404 while retrieving https://opendata.arcgis.com/datasets/f2c404c667904f03be38443cbd474cd3_0.csv
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/utils.py", line 367, in scrape
reader = self.csv_reader(self.csv_url, delimiter=self.delimiter, header=True, encoding=self.encoding, skip_rows=self.skip_rows, data=data)
File "/app/scrapers/utils.py", line 215, in csv_reader
response = self.get(url, **kwargs)
File "/app/scrapers/utils.py", line 172, in get
return super().get(*args, verify=SSL_VERIFY, **kwargs)
File "/app/.heroku/python/lib/python3.6/site-packages/requests/sessions.py", line 537, in get
return self.request('GET', url, **kwargs)
File "/app/.heroku/python/lib/python3.6/site-packages/scrapelib/__init__.py", line 292, in request
raise HTTPError(resp)
scrapelib.HTTPError: 404 while retrieving https://opendata.arcgis.com/datasets/f2c404c667904f03be38443cbd474cd3_0.csv
|
D>
|
ca_on_caledon
|
2020-06-04 04:03:31
|
2021-01-17 04:32:45
|
IndexError: list index out of range
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/ca_on_caledon/people.py", line 10, in scrape
node = page.xpath('//td[@rowspan="2"]')[0]
IndexError: list index out of range
|
C
|
ca_on_cambridge
|
2021-01-17 04:10:37
|
2021-01-17 04:10:37
|
|
C
|
ca_on_chatham_kent
|
2021-01-17 04:09:48
|
2021-01-17 04:09:48
|
|
C
|
ca_on_fort_erie
|
2021-01-17 04:06:33
|
2021-01-17 04:06:33
|
|
C
|
ca_on_georgina
|
2021-01-17 04:33:11
|
2021-01-17 04:33:11
|
|
C
|
ca_on_greater_sudbury
|
2021-01-17 04:06:32
|
2021-01-17 04:06:32
|
|
C
|
ca_on_grimsby
|
2021-01-17 04:33:20
|
2021-01-17 04:33:20
|
|
C
|
ca_on_guelph
|
2021-01-17 04:09:49
|
2021-01-17 04:09:49
|
|
D>
04:04:33 WARNING pupa: could not save RunPlan, no successful runs of ocd-jurisdiction/country:ca/csd:3528018/legislature yet
|
ca_on_haldimand_county
|
|
2021-01-17 04:04:33
|
AssertionError: No councillors found
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/ca_on_haldimand_county/people.py", line 13, in scrape
assert len(councillors), 'No councillors found'
AssertionError: No councillors found
|
D>
04:09:33 WARNING pupa: could not save RunPlan, no successful runs of ocd-jurisdiction/country:ca/csd:3525005/legislature yet
|
ca_on_hamilton
|
|
2021-01-17 04:09:33
|
Exception: No email pattern in ["javascript:void(location.href='mailto:'+String.fromCharCode(109,97,121,111,114,64,104,97,10…
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/ca_on_hamilton/people.py", line 11, in scrape
yield self.mayor_data(mayor_url)
File "/app/scrapers/ca_on_hamilton/people.py", line 47, in mayor_data
email = self.get_email(info_node)
File "/app/scrapers/utils.py", line 135, in get_email
raise Exception('No email pattern in {}'.format(matches))
Exception: No email pattern in ["javascript:void(location.href='mailto:'+String.fromCharCode(109,97,121,111,114,64,104,97,109,105,108,116,111,110,46,99,97))"]
|
D>
04:13:12 WARNING pupa: could not save RunPlan, no successful runs of ocd-jurisdiction/country:ca/cd:3540/legislature yet
|
ca_on_huron
|
|
2021-01-17 04:13:12
|
pupa.exceptions.UnresolvedIdError: cannot resolve pseudo id to Post: ~{"label": "Huron (seat 5)", "organization__classificat…
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 307, in do_handle
report['import'] = self.do_import(juris, args)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 211, in do_import
report.update(membership_importer.import_directory(datadir))
File "/app/.heroku/src/pupa/pupa/importers/base.py", line 190, in import_directory
return self.import_data(json_stream())
File "/app/.heroku/src/pupa/pupa/importers/base.py", line 227, in import_data
obj_id, what = self.import_item(data)
File "/app/.heroku/src/pupa/pupa/importers/base.py", line 247, in import_item
data = self.prepare_for_db(data)
File "/app/.heroku/src/pupa/pupa/importers/memberships.py", line 50, in prepare_for_db
data['post_id'] = self.post_importer.resolve_json_id(data['post_id'])
File "/app/.heroku/src/pupa/pupa/importers/base.py", line 165, in resolve_json_id
raise UnresolvedIdError(errmsg)
pupa.exceptions.UnresolvedIdError: cannot resolve pseudo id to Post: ~{"label": "Huron (seat 5)", "organization__classification": "legislature", "role": "Councillor"}
|
C
|
ca_on_king
|
2021-01-17 04:06:38
|
2021-01-17 04:06:38
|
|
C
|
ca_on_kingston
|
2021-01-17 04:24:48
|
2021-01-17 04:24:48
|
|
C
|
ca_on_kitchener
|
2021-01-17 04:02:17
|
2021-01-17 04:02:17
|
|
D>
|
ca_on_lambton
|
2020-07-20 04:22:09
|
2021-01-17 04:09:52
|
AssertionError: No councillors found
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/ca_on_lambton/people.py", line 12, in scrape
assert len(councillors), 'No councillors found'
AssertionError: No councillors found
|
C
|
ca_on_lincoln
|
2021-01-17 04:33:15
|
2021-01-17 04:33:15
|
|
C
|
ca_on_london
|
2021-01-17 04:33:07
|
2021-01-17 04:33:07
|
|
D>
04:26:45 WARNING pupa: could not save RunPlan, no successful runs of ocd-jurisdiction/country:ca/csd:3519036/legislature yet
|
ca_on_markham
|
|
2021-01-17 04:26:45
|
IndexError: list index out of range
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/ca_on_markham/people.py", line 12, in scrape
mayor_url = page.xpath('//a[contains(text(), "Office of the Mayor")]/@href')[0]
IndexError: list index out of range
|
D>
04:09:50 WARNING pupa: could not save RunPlan, no successful runs of ocd-jurisdiction/country:ca/csd:3524009/legislature yet
|
ca_on_milton
|
|
2021-01-17 04:09:50
|
AssertionError: No councillors found
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/ca_on_milton/people.py", line 13, in scrape
assert len(councillors), 'No councillors found'
AssertionError: No councillors found
|
D>
|
ca_on_mississauga
|
2020-09-15 04:26:32
|
2021-01-17 04:33:17
|
IndexError: list index out of range
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/ca_on_mississauga/people.py", line 15, in scrape
if 'Vacant' not in councillor_url.xpath('./following-sibling::div[2]/text()')[0]:
IndexError: list index out of range
|
C
|
ca_on_newmarket
|
2021-01-17 04:32:22
|
2021-01-17 04:32:22
|
|
C
|
ca_on_niagara
|
2021-01-17 04:10:40
|
2021-01-17 04:10:40
|
|
C
|
ca_on_niagara_on_the_lake
|
2021-01-17 04:24:49
|
2021-01-17 04:24:49
|
|
C
|
ca_on_north_dumfries
|
2021-01-17 04:33:58
|
2021-01-17 04:33:58
|
|
D>
04:05:23 WARNING pupa: validation of CanadianPerson 3930cdbe-5879-11eb-8c5a-3aeecc2a039d failed: 1 validation errors:
Value 'Sean Oâ\x80\x99Meara' for field '<obj>.name' does not match regular expression 'regex.Regex('\\A(?!(?:Chair|Commissioner|Conseiller|Councillor|Deputy|Dr|Hon|M|Maire|Mayor|Miss|Mme|Mr|Mrs|Ms|Regional|Warden)\\b)(?:(?:(?:\\p{Lu}\\.)+|\\p{Lu}+|(?:Jr|Rev|Sr|St)\\.|da|de|den|der|la|van|von|[("](?:\\p{Lu}+|\\p{Lu}\\p{Ll}*(?:-\\p{Lu}\\p{Ll}*)*)[)"]|(?:D\'|d\'|De|de|Des|Di|Du|L\'|La|Le|Mac|Mc|O\'|San|Van|Vander?|vanden)?\\p{Lu}\\p{Ll}+|\\p{Lu}\\p{Ll}+Anne?|Marie\\p{Lu}\\p{Ll}+|Ch\'ng|Prud\'homme|D!ONNE|IsaBelle)(?:\'|-| - | ))+(?:(?:\\p{Lu}\\.)+|\\p{Lu}+|(?:Jr|Rev|Sr|St)\\.|da|de|den|der|la|van|von|[("](?:\\p{Lu}+|\\p{Lu}\\p{Ll}*(?:-\\p{Lu}\\p{Ll}*)*)[)"]|(?:D\'|d\'|De|de|Des|Di|Du|L\'|La|Le|Mac|Mc|O\'|San|Van|Vander?|vanden)?\\p{Lu}\\p{Ll}+|\\p{Lu}\\p{Ll}+Anne?|Marie\\p{Lu}\\p{Ll}+|Ch\'ng|Prud\'homme|D!ONNE|IsaBelle)\\Z', flags=regex.V0)'
|
ca_on_oakville
|
2020-04-28 04:21:24
|
2021-01-17 04:05:23
|
Value 'Sean Oâ\x80\x99Meara' for field '<obj>.name' does not match regular expression 'regex.Regex('\\A(?!(?:Chair|Commissio…
Traceback (most recent call last):
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 175, in validate
validator.validate(self.as_dict(), schema)
File "/app/.heroku/python/lib/python3.6/site-packages/validictory/validator.py", line 620, in validate
raise MultipleValidationError(self._errors)
validictory.validator.MultipleValidationError: 1 validation errors:
Value 'Sean Oâ\x80\x99Meara' for field '<obj>.name' does not match regular expression 'regex.Regex('\\A(?!(?:Chair|Commissioner|Conseiller|Councillor|Deputy|Dr|Hon|M|Maire|Mayor|Miss|Mme|Mr|Mrs|Ms|Regional|Warden)\\b)(?:(?:(?:\\p{Lu}\\.)+|\\p{Lu}+|(?:Jr|Rev|Sr|St)\\.|da|de|den|der|la|van|von|[("](?:\\p{Lu}+|\\p{Lu}\\p{Ll}*(?:-\\p{Lu}\\p{Ll}*)*)[)"]|(?:D\'|d\'|De|de|Des|Di|Du|L\'|La|Le|Mac|Mc|O\'|San|Van|Vander?|vanden)?\\p{Lu}\\p{Ll}+|\\p{Lu}\\p{Ll}+Anne?|Marie\\p{Lu}\\p{Ll}+|Ch\'ng|Prud\'homme|D!ONNE|IsaBelle)(?:\'|-| - | ))+(?:(?:\\p{Lu}\\.)+|\\p{Lu}+|(?:Jr|Rev|Sr|St)\\.|da|de|den|der|la|van|von|[("](?:\\p{Lu}+|\\p{Lu}\\p{Ll}*(?:-\\p{Lu}\\p{Ll}*)*)[)"]|(?:D\'|d\'|De|de|Des|Di|Du|L\'|La|Le|Mac|Mc|O\'|San|Van|Vander?|vanden)?\\p{Lu}\\p{Ll}+|\\p{Lu}\\p{Ll}+Anne?|Marie\\p{Lu}\\p{Ll}+|Ch\'ng|Prud\'homme|D!ONNE|IsaBelle)\\Z', flags=regex.V0)'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 104, in do_scrape
self.save_object(obj)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 89, in save_object
raise ve
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 85, in save_object
obj.validate()
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 178, in validate
self.__class__.__name__, self._id, ve)
pupa.exceptions.ScrapeValueError: validation of CanadianPerson 3930cdbe-5879-11eb-8c5a-3aeecc2a039d failed: 1 validation errors:
Value 'Sean Oâ\x80\x99Meara' for field '<obj>.name' does not match regular expression 'regex.Regex('\\A(?!(?:Chair|Commissioner|Conseiller|Councillor|Deputy|Dr|Hon|M|Maire|Mayor|Miss|Mme|Mr|Mrs|Ms|Regional|Warden)\\b)(?:(?:(?:\\p{Lu}\\.)+|\\p{Lu}+|(?:Jr|Rev|Sr|St)\\.|da|de|den|der|la|van|von|[("](?:\\p{Lu}+|\\p{Lu}\\p{Ll}*(?:-\\p{Lu}\\p{Ll}*)*)[)"]|(?:D\'|d\'|De|de|Des|Di|Du|L\'|La|Le|Mac|Mc|O\'|San|Van|Vander?|vanden)?\\p{Lu}\\p{Ll}+|\\p{Lu}\\p{Ll}+Anne?|Marie\\p{Lu}\\p{Ll}+|Ch\'ng|Prud\'homme|D!ONNE|IsaBelle)(?:\'|-| - | ))+(?:(?:\\p{Lu}\\.)+|\\p{Lu}+|(?:Jr|Rev|Sr|St)\\.|da|de|den|der|la|van|von|[("](?:\\p{Lu}+|\\p{Lu}\\p{Ll}*(?:-\\p{Lu}\\p{Ll}*)*)[)"]|(?:D\'|d\'|De|de|Des|Di|Du|L\'|La|Le|Mac|Mc|O\'|San|Van|Vander?|vanden)?\\p{Lu}\\p{Ll}+|\\p{Lu}\\p{Ll}+Anne?|Marie\\p{Lu}\\p{Ll}+|Ch\'ng|Prud\'homme|D!ONNE|IsaBelle)\\Z', flags=regex.V0)'
|
D>
04:24:54 WARNING pupa: could not save RunPlan, no successful runs of ocd-jurisdiction/country:ca/csd:3518013/legislature yet
|
ca_on_oshawa
|
|
2021-01-17 04:24:54
|
Exception: No email node in b'<td>\n<p class="DirectoryTitle">City of Oshawa<br/>Mayor<br/>Dan Carter</p>\n<p class="Standar…
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/ca_on_oshawa/people.py", line 30, in scrape
p.add_contact('email', self.get_email(councillor))
File "/app/scrapers/utils.py", line 137, in get_email
raise Exception('No email node in {}'.format(etree.tostring(node)))
Exception: No email node in b'<td>\n<p class="DirectoryTitle">City of Oshawa<br/>Mayor<br/>Dan Carter</p>\n<p class="Standard DirectoryImage"><img title="Mayor Dan Carter" src="https://www.oshawa.ca/city-hall/resources/Councillor-Photos-2018-2022/Mayor-Carter.jpg" alt="Mayor Dan Carter" width="600" height="841"/></p>\n<p class="Standard">Phone: 905-436-5611</p>\n<ul>\n<li class="Standard"><a title="Email City of Oshawa Mayor, Dan Carter" href="https://www.oshawa.ca/cdn-cgi/l/email-protection#09646870667b49667a61687e68276a68">Email the Mayor</a></li>\n<li class="Standard"><a title="View Mayor Dan Carter\'s biography." href="https://www.oshawa.ca/city-hall/mayor-carter.asp">Biography</a></li>\n</ul>\n</td>\n'
|
D>
04:09:51 WARNING pupa: could not save RunPlan, no successful runs of ocd-jurisdiction/country:ca/csd:3506008/legislature yet
|
ca_on_ottawa
|
|
2021-01-17 04:09:51
|
KeyError: 'name'
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/utils.py", line 375, in scrape
if not self.is_valid_row(row):
File "/app/scrapers/utils.py", line 336, in is_valid_row
return row['name'] not in empty
KeyError: 'name'
|
D>
|
ca_on_peel
|
2020-06-12 04:05:28
|
2021-01-17 04:09:28
|
scrapelib.HTTPError: 404 while retrieving https://data.peelregion.ca/media/43505/wards1822_csv.csv
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/utils.py", line 367, in scrape
reader = self.csv_reader(self.csv_url, delimiter=self.delimiter, header=True, encoding=self.encoding, skip_rows=self.skip_rows, data=data)
File "/app/scrapers/utils.py", line 215, in csv_reader
response = self.get(url, **kwargs)
File "/app/scrapers/utils.py", line 172, in get
return super().get(*args, verify=SSL_VERIFY, **kwargs)
File "/app/.heroku/python/lib/python3.6/site-packages/requests/sessions.py", line 537, in get
return self.request('GET', url, **kwargs)
File "/app/.heroku/python/lib/python3.6/site-packages/scrapelib/__init__.py", line 292, in request
raise HTTPError(resp)
scrapelib.HTTPError: 404 while retrieving https://data.peelregion.ca/media/43505/wards1822_csv.csv
|
C
|
ca_on_pickering
|
2021-01-17 04:01:14
|
2021-01-17 04:01:14
|
|
C
|
ca_on_richmond_hill
|
2021-01-17 04:34:08
|
2021-01-17 04:34:08
|
|
C
|
ca_on_school_boards_english_public
|
2021-01-17 04:33:05
|
2021-01-17 04:33:06
|
|
C
|
ca_on_st_catharines
|
2021-01-17 04:01:18
|
2021-01-17 04:01:18
|
|
D>
04:32:21 WARNING pupa: could not save RunPlan, no successful runs of ocd-jurisdiction/country:ca/csd:3558004/legislature yet
|
ca_on_thunder_bay
|
|
2021-01-17 04:32:21
|
scrapelib.HTTPError: 404 while retrieving https://www.thunderbay.ca/Common/PageNotFound.aspx?aspxerrorpath=/en/city-hall/may…
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/ca_on_thunder_bay/people.py", line 9, in scrape
page = self.lxmlize(COUNCIL_PAGE)
File "/app/scrapers/utils.py", line 180, in lxmlize
response = self.get(url, cookies=cookies)
File "/app/scrapers/utils.py", line 172, in get
return super().get(*args, verify=SSL_VERIFY, **kwargs)
File "/app/.heroku/python/lib/python3.6/site-packages/requests/sessions.py", line 537, in get
return self.request('GET', url, **kwargs)
File "/app/.heroku/python/lib/python3.6/site-packages/scrapelib/__init__.py", line 292, in request
raise HTTPError(resp)
scrapelib.HTTPError: 404 while retrieving https://www.thunderbay.ca/Common/PageNotFound.aspx?aspxerrorpath=/en/city-hall/mayor-and-council.aspx
|
C
|
ca_on_toronto_candidates
|
2021-01-17 04:33:13
|
2021-01-17 04:33:13
|
|
C
|
ca_on_uxbridge
|
2021-01-17 04:07:27
|
2021-01-17 04:07:27
|
|
C
|
ca_on_vaughan
|
2021-01-17 04:25:13
|
2021-01-17 04:25:13
|
|
C
|
ca_on_waterloo
|
2021-01-17 04:32:44
|
2021-01-17 04:32:44
|
|
D>
|
ca_on_waterloo_region
|
2020-04-28 04:33:42
|
2021-01-17 04:13:04
|
KeyError: 'district name'
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/utils.py", line 380, in scrape
row[key] = corrections(row[key])
KeyError: 'district name'
|
D>
|
ca_on_welland
|
2021-01-12 04:03:30
|
2021-01-17 04:02:15
|
scrapelib.HTTPError: 404 while retrieving https://niagaraopendata.ca/dataset/b38e2f85-bcd4-43fd-95d5-f513919514d9/resource/5…
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/utils.py", line 367, in scrape
reader = self.csv_reader(self.csv_url, delimiter=self.delimiter, header=True, encoding=self.encoding, skip_rows=self.skip_rows, data=data)
File "/app/scrapers/utils.py", line 215, in csv_reader
response = self.get(url, **kwargs)
File "/app/scrapers/utils.py", line 172, in get
return super().get(*args, verify=SSL_VERIFY, **kwargs)
File "/app/.heroku/python/lib/python3.6/site-packages/requests/sessions.py", line 537, in get
return self.request('GET', url, **kwargs)
File "/app/.heroku/python/lib/python3.6/site-packages/scrapelib/__init__.py", line 292, in request
raise HTTPError(resp)
scrapelib.HTTPError: 404 while retrieving https://niagaraopendata.ca/dataset/b38e2f85-bcd4-43fd-95d5-f513919514d9/resource/590c9110-01f3-4256-8ac1-9c5cbeca88c5/download/city-of-welland-mayor-and-council-members.csv
|
C
|
ca_on_wellesley
|
2021-01-17 04:32:43
|
2021-01-17 04:32:43
|
|
D>
|
ca_on_whitby
|
2021-01-05 04:20:55
|
2021-01-17 04:38:46
|
AssertionError: No councillors found
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/ca_on_whitby/people.py", line 12, in scrape
assert len(councillors), 'No councillors found'
AssertionError: No councillors found
|
C
|
ca_on_whitchurch_stouffville
|
2021-01-17 04:09:29
|
2021-01-17 04:09:29
|
|
C
|
ca_on_windsor
|
2021-01-17 04:32:24
|
2021-01-17 04:32:24
|
|
D>
04:10:46 WARNING pupa: could not save RunPlan, no successful runs of ocd-jurisdiction/country:ca/province:pe/legislature yet
|
ca_pe
|
|
2021-01-17 04:10:46
|
AssertionError: No members found
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/ca_pe/people.py", line 13, in scrape
assert len(members), 'No members found'
AssertionError: No members found
|
D>
|
ca_pe_charlottetown
|
2020-10-22 04:01:37
|
2021-01-17 04:25:01
|
IndexError: list index out of range
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/ca_pe_charlottetown/people.py", line 22, in scrape
para = group[0]
IndexError: list index out of range
|
C
|
ca_qc
|
2021-01-17 04:38:30
|
2021-01-17 04:38:30
|
|
C
|
ca_qc_beaconsfield
|
2021-01-17 04:41:08
|
2021-01-17 04:41:08
|
|
D>
04:32:47 WARNING pupa: could not save RunPlan, no successful runs of ocd-jurisdiction/country:ca/csd:2458007/legislature yet
|
ca_qc_brossard
|
|
2021-01-17 04:32:47
|
AssertionError: No councillors found
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/ca_qc_brossard/people.py", line 17, in scrape
assert len(councillors), 'No councillors found'
AssertionError: No councillors found
|
C
|
ca_qc_cote_saint_luc
|
2021-01-17 04:13:00
|
2021-01-17 04:13:00
|
|
C
|
ca_qc_dollard_des_ormeaux
|
2021-01-17 04:38:45
|
2021-01-17 04:38:45
|
|
C
|
ca_qc_dorval
|
2021-01-17 04:07:30
|
2021-01-17 04:07:30
|
|
C
|
ca_qc_gatineau
|
2021-01-17 04:01:12
|
2021-01-17 04:01:12
|
|
C
|
ca_qc_kirkland
|
2021-01-17 04:10:45
|
2021-01-17 04:10:45
|
|
C
|
ca_qc_laval
|
2021-01-17 04:41:13
|
2021-01-17 04:41:13
|
|
C
|
ca_qc_levis
|
2021-01-17 04:24:53
|
2021-01-17 04:24:53
|
|
D>
04:05:49 WARNING pupa: could not save RunPlan, no successful runs of ocd-jurisdiction/country:ca/csd:2458227/legislature yet
|
ca_qc_longueuil
|
|
2021-01-17 04:05:49
|
scrapelib.HTTPError: 404 while retrieving https://www.longueuil.quebec/fr/conseil-ville
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/ca_qc_longueuil/people.py", line 9, in scrape
page = self.lxmlize(COUNCIL_PAGE, 'utf-8')
File "/app/scrapers/utils.py", line 180, in lxmlize
response = self.get(url, cookies=cookies)
File "/app/scrapers/utils.py", line 172, in get
return super().get(*args, verify=SSL_VERIFY, **kwargs)
File "/app/.heroku/python/lib/python3.6/site-packages/requests/sessions.py", line 537, in get
return self.request('GET', url, **kwargs)
File "/app/.heroku/python/lib/python3.6/site-packages/scrapelib/__init__.py", line 292, in request
raise HTTPError(resp)
scrapelib.HTTPError: 404 while retrieving https://www.longueuil.quebec/fr/conseil-ville
|
D>
04:02:33 WARNING scrapelib: got Exceeded 30 redirects. sleeping for 10 seconds before retry
04:02:56 WARNING scrapelib: got Exceeded 30 redirects. sleeping for 20 seconds before retry
04:03:29 WARNING scrapelib: got Exceeded 30 redirects. sleeping for 40 seconds before retry
04:04:25 WARNING pupa: could not save RunPlan, no successful runs of ocd-jurisdiction/country:ca/csd:2467045/legislature yet
|
ca_qc_mercier
|
|
2021-01-17 04:04:25
|
requests.exceptions.TooManyRedirects: Exceeded 30 redirects.
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/ca_qc_mercier/people.py", line 10, in scrape
page = self.lxmlize(COUNCIL_PAGE, user_agent=CUSTOM_USER_AGENT, encoding='windows-1252')
File "/app/scrapers/utils.py", line 180, in lxmlize
response = self.get(url, cookies=cookies)
File "/app/scrapers/utils.py", line 172, in get
return super().get(*args, verify=SSL_VERIFY, **kwargs)
File "/app/.heroku/python/lib/python3.6/site-packages/requests/sessions.py", line 537, in get
return self.request('GET', url, **kwargs)
File "/app/.heroku/python/lib/python3.6/site-packages/scrapelib/__init__.py", line 286, in request
**kwargs)
File "/app/.heroku/python/lib/python3.6/site-packages/scrapelib/cache.py", line 66, in request
resp = super(CachingSession, self).request(method, url, **kwargs)
File "/app/.heroku/python/lib/python3.6/site-packages/scrapelib/__init__.py", line 88, in request
return super(ThrottledSession, self).request(method, url, **kwargs)
File "/app/.heroku/python/lib/python3.6/site-packages/scrapelib/__init__.py", line 182, in request
raise exception_raised
File "/app/.heroku/python/lib/python3.6/site-packages/scrapelib/__init__.py", line 153, in request
resp = super(RetrySession, self).request(method, url, **kwargs)
File "/app/.heroku/python/lib/python3.6/site-packages/requests/sessions.py", line 524, in request
resp = self.send(prep, **send_kwargs)
File "/app/.heroku/python/lib/python3.6/site-packages/requests/sessions.py", line 659, in send
history = [resp for resp in gen] if allow_redirects else []
File "/app/.heroku/python/lib/python3.6/site-packages/requests/sessions.py", line 659, in <listcomp>
history = [resp for resp in gen] if allow_redirects else []
File "/app/.heroku/python/lib/python3.6/site-packages/requests/sessions.py", line 156, in resolve_redirects
raise TooManyRedirects('Exceeded %s redirects.' % self.max_redirects, response=resp)
requests.exceptions.TooManyRedirects: Exceeded 30 redirects.
|
D>
04:06:39 WARNING pupa: could not save RunPlan, no successful runs of ocd-jurisdiction/country:ca/csd:2466023/legislature yet
|
ca_qc_montreal
|
|
2021-01-17 04:06:39
|
scrapelib.HTTPError: 404 while retrieving https://donnees.montreal.ca/dataset/381d74ca-dadd-459f-95c9-db255b5f4480/resource/…
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/utils.py", line 367, in scrape
reader = self.csv_reader(self.csv_url, delimiter=self.delimiter, header=True, encoding=self.encoding, skip_rows=self.skip_rows, data=data)
File "/app/scrapers/utils.py", line 215, in csv_reader
response = self.get(url, **kwargs)
File "/app/scrapers/utils.py", line 172, in get
return super().get(*args, verify=SSL_VERIFY, **kwargs)
File "/app/.heroku/python/lib/python3.6/site-packages/requests/sessions.py", line 537, in get
return self.request('GET', url, **kwargs)
File "/app/.heroku/python/lib/python3.6/site-packages/scrapelib/__init__.py", line 292, in request
raise HTTPError(resp)
scrapelib.HTTPError: 404 while retrieving https://donnees.montreal.ca/dataset/381d74ca-dadd-459f-95c9-db255b5f4480/resource/ce1315a3-50ee-48d0-a0f0-9bcc15f65643/download/listeelusmontreal.csv
|
C
|
ca_qc_montreal_est
|
2021-01-17 04:05:31
|
2021-01-17 04:05:31
|
|
C
|
ca_qc_pointe_claire
|
2021-01-17 04:13:14
|
2021-01-17 04:13:14
|
|
C
|
ca_qc_quebec
|
2021-01-17 04:41:11
|
2021-01-17 04:41:11
|
|
C
|
ca_qc_saguenay
|
2021-01-17 04:34:12
|
2021-01-17 04:34:12
|
|
C
|
ca_qc_sainte_anne_de_bellevue
|
2021-01-17 04:07:32
|
2021-01-17 04:07:32
|
|
C
|
ca_qc_saint_jean_sur_richelieu
|
2021-01-17 04:07:25
|
2021-01-17 04:07:25
|
|
C
|
ca_qc_saint_jerome
|
2021-01-17 04:13:06
|
2021-01-17 04:13:06
|
|
C
|
ca_qc_senneville
|
2021-01-17 04:05:28
|
2021-01-17 04:05:28
|
|
D>
04:02:19 WARNING pupa: could not save RunPlan, no successful runs of ocd-jurisdiction/country:ca/csd:2443027/legislature yet
|
ca_qc_sherbrooke
|
|
2021-01-17 04:02:19
|
AssertionError: No councillors found
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/ca_qc_sherbrooke/people.py", line 11, in scrape
assert len(councillors), 'No councillors found'
AssertionError: No councillors found
|
D>
09:44:30 WARNING pupa: could not save RunPlan, no successful runs of ocd-jurisdiction/country:ca/csd:2464008/legislature yet
|
ca_qc_terrebonne
|
|
2021-01-17 09:44:30
|
IndexError: list index out of range
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/ca_qc_terrebonne/people.py", line 18, in scrape
district = page.xpath('.//div[@class="fiche__category"]/text()')[0]
IndexError: list index out of range
|
C
|
ca_qc_trois_rivieres
|
2021-01-17 04:08:09
|
2021-01-17 04:08:09
|
|
C
|
ca_qc_westmount
|
2021-01-17 04:38:51
|
2021-01-17 04:38:51
|
|
D>
04:13:09 WARNING pupa: validation of Membership 4eae0cb4-587a-11eb-8c5a-3aeecc2a039d failed: 1 validation errors:
Value '265' for field '' does not match regular expression '\A1 \d{3} \d{3}-\d{4}(?: x\d+)?\Z'
04:13:09 WARNING pupa: could not save RunPlan, no successful runs of ocd-jurisdiction/country:ca/province:sk/legislature yet
|
ca_sk
|
|
2021-01-17 04:13:09
|
Value '265' for field '' does not match regular expression '\A1 \d{3} \d{3}-\d{4}(?: x\d+)?\Z'
Traceback (most recent call last):
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 175, in validate
validator.validate(self.as_dict(), schema)
File "/app/.heroku/python/lib/python3.6/site-packages/validictory/validator.py", line 620, in validate
raise MultipleValidationError(self._errors)
validictory.validator.MultipleValidationError: 1 validation errors:
Value '265' for field '' does not match regular expression '\A1 \d{3} \d{3}-\d{4}(?: x\d+)?\Z'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 104, in do_scrape
self.save_object(obj)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 93, in save_object
self.save_object(obj)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 89, in save_object
raise ve
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 85, in save_object
obj.validate()
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 178, in validate
self.__class__.__name__, self._id, ve)
pupa.exceptions.ScrapeValueError: validation of Membership 4eae0cb4-587a-11eb-8c5a-3aeecc2a039d failed: 1 validation errors:
Value '265' for field '' does not match regular expression '\A1 \d{3} \d{3}-\d{4}(?: x\d+)?\Z'
|
D>
|
ca_sk_regina
|
2020-11-23 05:02:51
|
2021-01-17 04:11:20
|
IndexError: list index out of range
Traceback (most recent call last):
File "/app/reports/utils.py", line 71, in scrape_people
report.report = subcommand.handle(args, other)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 260, in handle
return self.do_handle(args, other, juris)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 305, in do_handle
report['scrape'] = self.do_scrape(juris, args, scrapers)
File "/app/.heroku/src/pupa/pupa/cli/commands/update.py", line 173, in do_scrape
report[scraper_name] = scraper.do_scrape(**scrape_args)
File "/app/.heroku/src/pupa/pupa/scrape/base.py", line 99, in do_scrape
for obj in self.scrape(**kwargs) or []:
File "/app/scrapers/ca_sk_regina/people.py", line 25, in scrape
yield self.mayor_data(mayor_url)
File "/app/scrapers/ca_sk_regina/people.py", line 61, in mayor_data
phone_path = page.xpath('//div[@class="councillor__contact"]//ul/li/a/@href[contains(., "306")]')[0]
IndexError: list index out of range
|
C
|
ca_sk_saskatoon
|
2021-01-17 04:01:16
|
2021-01-17 04:01:16
|
|