diff --git a/city_scrapers/spiders/chi_infrastructure_trust.py b/city_scrapers/spiders/chi_infrastructure_trust.py
deleted file mode 100644
index b7fc6a4a5..000000000
--- a/city_scrapers/spiders/chi_infrastructure_trust.py
+++ /dev/null
@@ -1,101 +0,0 @@
-import re
-from datetime import datetime
-
-from city_scrapers_core.constants import BOARD
-from city_scrapers_core.items import Meeting
-from city_scrapers_core.spiders import CityScrapersSpider
-
-
-class ChiInfrastructureTrustSpider(CityScrapersSpider):
- name = "chi_infrastructure_trust"
- agency = "Chicago Infrastructure Trust"
- timezone = "America/Chicago"
- start_urls = [
- "http://chicagoinfrastructure.org/public-records/meeting-records-2/",
- "http://chicagoinfrastructure.org/public-records/scheduled-meetings/",
- ]
-
- def parse(self, response):
- """
- `parse` should always `yield` Meeting items.
-
- Change the `_parse_id`, `_parse_name`, etc methods to fit your scraping
- needs.
- """
- last_year = datetime.today().replace(year=datetime.today().year - 1)
- for item in response.css(".entry p"):
- if item.xpath(".//span"):
- continue
-
- start = self._parse_start(item, response)
- if not start or (
- start < last_year and not self.settings.getbool("CITY_SCRAPERS_ARCHIVE")
- ):
- return
-
- meeting = Meeting(
- title="Board of Directors",
- description="",
- classification=BOARD,
- start=start,
- end=None,
- all_day=False,
- time_notes="Confirm details in meeting documents",
- location=self._parse_location(start),
- links=self._parse_links(item),
- source=response.url,
- )
-
- meeting["status"] = self._get_status(meeting)
- meeting["id"] = self._get_id(meeting)
-
- yield meeting
-
- def _parse_start(self, item, response):
- """Parse start datetime as a naive datetime object."""
- item_text = re.sub(r"\s+", " ", " ".join(item.css("*::text").extract())).strip()
- date_match = re.search(r"[A-Z][a-z]{2,8} \d{1,2},? \d{4}", item_text)
- if date_match:
- date_str = date_match.group().replace(",", "")
- return datetime.strptime(date_str, "%B %d %Y")
- else:
- header_str = " ".join(
- response.css(".entry strong")[0].css("*::text").extract()
- ).strip()
- year_match = re.search(r"\d{4}", header_str)
- if not year_match:
- return
-
- date_match = re.search(r"[A-Z][a-z]{2,8} \d{1,2}", item_text)
- if not date_match:
- return
-
- return datetime.strptime(
- " ".join([date_match.group(), year_match.group()]), "%B %d %Y"
- )
-
- def _parse_location(self, start):
- """Parse or generate location."""
- # Not a clean fix, but changing the address after a certain date
- if start > datetime(2019, 11, 1):
- return {
- "name": "",
- "address": "35 E Wacker Dr, Chicago, IL 60601",
- }
- else:
- return {
- "name": "Metropolitan Planning Council",
- "address": "140 South Dearborn Street, Suite 1400, Chicago, IL 60603",
- }
-
- def _parse_links(self, item):
- """Parse or generate links."""
- links = []
- for link in item.xpath("./following-sibling::ul[1]/li/a"):
- links.append(
- {
- "href": link.attrib["href"],
- "title": " ".join(link.css("*::text").extract()),
- }
- )
- return links
diff --git a/tests/files/chi_infrastructure_trust.html b/tests/files/chi_infrastructure_trust.html
deleted file mode 100644
index 6e932e837..000000000
--- a/tests/files/chi_infrastructure_trust.html
+++ /dev/null
@@ -1,387 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Meeting Records | Chicago Infrastructure Trust
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Meeting Records
-
-
-
December 11, 2018 – Board Meeting
-
-
July 17, 2018 – Board Meeting
-
-
December 5, 2017 – Board Meeting
-
-
October 11, 2017 – Board Meeting
-
-
June 6, 2017 – Board Meeting
-
-
February 7, 2017 – Board Meeting
-
-
October 18, 2016 – Board Meeting
-
-
July 19, 2016 – Board Meeting
-
-
April 20, 2016 – Board Meeting
-
-
January 27 , 2016 – Board Meeting
-
-
August 14 , 2015 – Board Meeting
-
-
October 16, 2014 – Board Meeting
-
-
July 17, 2014 – Board Meeting
-
-
June 12, 2014 – Board Meeting
-
-
April 17, 2014 – Board Meeting
-
-
February 24, 2014 – Board Meeting
-
-
November 12, 2013 – Board Meeting
-
-
November 6, 2013 – Board Meeting
-
-
July 19, 2013 – Board Meeting
-
-
April 3, 2013 – Board Meeting
-
-
January 10, 2013 – Board Meeting
-
-
-
December 6, 2012 – Board Meeting
-
-
September 27, 2012 – Board Meeting
-
-
August 28, 2012 – Board Meeting
-
-
August 2, 2012 – Board Meeting
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/tests/test_chi_infrastructure_trust.py b/tests/test_chi_infrastructure_trust.py
deleted file mode 100644
index 41d9473f9..000000000
--- a/tests/test_chi_infrastructure_trust.py
+++ /dev/null
@@ -1,91 +0,0 @@
-from datetime import datetime
-from os.path import dirname, join
-
-import pytest
-from city_scrapers_core.constants import BOARD
-from city_scrapers_core.utils import file_response
-from freezegun import freeze_time
-from scrapy.settings import Settings
-
-from city_scrapers.spiders.chi_infrastructure_trust import ChiInfrastructureTrustSpider
-
-test_response = file_response(
- join(dirname(__file__), "files", "chi_infrastructure_trust.html"),
- url="http://chicagoinfrastructure.org/public-records/meeting-records-2/",
-)
-spider = ChiInfrastructureTrustSpider()
-spider.settings = Settings(values={"CITY_SCRAPERS_ARCHIVE": False})
-
-freezer = freeze_time("2019-04-18")
-freezer.start()
-
-parsed_items = [item for item in spider.parse(test_response)]
-
-freezer.stop()
-
-
-def test_count():
- assert len(parsed_items) == 2
-
-
-def test_title():
- assert parsed_items[0]["title"] == "Board of Directors"
-
-
-def test_description():
- assert parsed_items[0]["description"] == ""
-
-
-def test_start():
- assert parsed_items[0]["start"] == datetime(2018, 12, 11, 0, 0)
-
-
-def test_end():
- assert parsed_items[0]["end"] is None
-
-
-def test_time_notes():
- assert parsed_items[0]["time_notes"] == "Confirm details in meeting documents"
-
-
-def test_id():
- assert (
- parsed_items[0]["id"]
- == "chi_infrastructure_trust/201812110000/x/board_of_directors"
- )
-
-
-def test_status():
- assert parsed_items[0]["status"] == "passed"
-
-
-def test_location():
- assert parsed_items[0]["location"] == {
- "address": "140 South Dearborn Street, Suite 1400, Chicago, IL 60603",
- "name": "Metropolitan Planning Council",
- }
-
-
-def test_source():
- assert parsed_items[0]["source"] == (
- "http://chicagoinfrastructure.org/" "public-records/meeting-records-2/"
- )
-
-
-def test_links():
- assert parsed_items[0]["links"] == [
- {
- "href": "http://chicagoinfrastructure.org/wp-content/uploads/2018/12/"
- "Board-Meeting-Agenda-20181211.pdf",
- "title": "Meeting Agenda",
- }
- ]
-
-
-def test_classification():
- assert parsed_items[0]["classification"] == BOARD
-
-
-@pytest.mark.parametrize("item", parsed_items)
-def test_all_day(item):
- assert item["all_day"] is False