We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Spider western_family is broken
During the global build at 2021-08-04-14-42-45, spider **western_family** failed with **0 features** and **0 errors**.

Here's [the log](https://data.alltheplaces.xyz/runs/2021-08-04-14-42-45/logs/western_family.txt) and [the output](https://data.alltheplaces.xyz/runs/2021-08-04-14-42-45/output/western_family.geojson) ([on a map](https://data.alltheplaces.xyz/map.html?show=https://data.alltheplaces.xyz/runs/2021-08-04-14-42-45/output/western_family.geojson))

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `locations/spiders/western_family.py`
Content:
```
1 # -*- coding: utf-8 -*-
2 import scrapy
3 
4 from locations.items import GeojsonPointItem
5 
6 
7 class WesternFamilySpider(scrapy.Spider):
8 
9     name = "western_family"
10     item_attributes = {"brand": "Western Family"}
11     allowed_domains = ["www.westernfamily.com"]
12     start_urls = (
13         "http://www.westernfamily.com/wp-admin/admin-ajax.php?action=store_search&lat=45.5230622&lng=-122.67648159999999&max_results=2500&search_radius=50000&autoload=1",
14     )
15 
16     def parse(self, response):
17         results = response.json()
18         for data in results:
19             properties = {
20                 "ref": data["id"],
21                 "name": data["store"],
22                 "lat": data["lat"],
23                 "lon": data["lng"],
24                 "addr_full": data["address"],
25                 "city": data["city"],
26                 "state": data["state"],
27                 "postcode": data["zip"],
28                 "country": data["country"],
29                 "phone": data["phone"],
30                 "website": data["url"],
31             }
32 
33             yield GeojsonPointItem(**properties)
34
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/locations/spiders/western_family.py b/locations/spiders/western_family.py
deleted file mode 100644
--- a/locations/spiders/western_family.py
+++ /dev/null
@@ -1,33 +0,0 @@
-# -*- coding: utf-8 -*-
-import scrapy
-
-from locations.items import GeojsonPointItem
-
-
-class WesternFamilySpider(scrapy.Spider):
-
-    name = "western_family"
-    item_attributes = {"brand": "Western Family"}
-    allowed_domains = ["www.westernfamily.com"]
-    start_urls = (
-        "http://www.westernfamily.com/wp-admin/admin-ajax.php?action=store_search&lat=45.5230622&lng=-122.67648159999999&max_results=2500&search_radius=50000&autoload=1",
-    )
-
-    def parse(self, response):
-        results = response.json()
-        for data in results:
-            properties = {
-                "ref": data["id"],
-                "name": data["store"],
-                "lat": data["lat"],
-                "lon": data["lng"],
-                "addr_full": data["address"],
-                "city": data["city"],
-                "state": data["state"],
-                "postcode": data["zip"],
-                "country": data["country"],
-                "phone": data["phone"],
-                "website": data["url"],
-            }
-
-            yield GeojsonPointItem(**properties)

{"golden_diff": "diff --git a/locations/spiders/western_family.py b/locations/spiders/western_family.py\ndeleted file mode 100644\n--- a/locations/spiders/western_family.py\n+++ /dev/null\n@@ -1,33 +0,0 @@\n-# -*- coding: utf-8 -*-\n-import scrapy\n-\n-from locations.items import GeojsonPointItem\n-\n-\n-class WesternFamilySpider(scrapy.Spider):\n-\n-    name = \"western_family\"\n-    item_attributes = {\"brand\": \"Western Family\"}\n-    allowed_domains = [\"www.westernfamily.com\"]\n-    start_urls = (\n-        \"http://www.westernfamily.com/wp-admin/admin-ajax.php?action=store_search&lat=45.5230622&lng=-122.67648159999999&max_results=2500&search_radius=50000&autoload=1\",\n-    )\n-\n-    def parse(self, response):\n-        results = response.json()\n-        for data in results:\n-            properties = {\n-                \"ref\": data[\"id\"],\n-                \"name\": data[\"store\"],\n-                \"lat\": data[\"lat\"],\n-                \"lon\": data[\"lng\"],\n-                \"addr_full\": data[\"address\"],\n-                \"city\": data[\"city\"],\n-                \"state\": data[\"state\"],\n-                \"postcode\": data[\"zip\"],\n-                \"country\": data[\"country\"],\n-                \"phone\": data[\"phone\"],\n-                \"website\": data[\"url\"],\n-            }\n-\n-            yield GeojsonPointItem(**properties)\n", "issue": "Spider western_family is broken\nDuring the global build at 2021-08-04-14-42-45, spider **western_family** failed with **0 features** and **0 errors**.\n\nHere's [the log](https://data.alltheplaces.xyz/runs/2021-08-04-14-42-45/logs/western_family.txt) and [the output](https://data.alltheplaces.xyz/runs/2021-08-04-14-42-45/output/western_family.geojson) ([on a map](https://data.alltheplaces.xyz/map.html?show=https://data.alltheplaces.xyz/runs/2021-08-04-14-42-45/output/western_family.geojson))\n", "before_files": [{"content": "# -*- coding: utf-8 -*-\nimport scrapy\n\nfrom locations.items import GeojsonPointItem\n\n\nclass WesternFamilySpider(scrapy.Spider):\n\n    name = \"western_family\"\n    item_attributes = {\"brand\": \"Western Family\"}\n    allowed_domains = [\"www.westernfamily.com\"]\n    start_urls = (\n        \"http://www.westernfamily.com/wp-admin/admin-ajax.php?action=store_search&lat=45.5230622&lng=-122.67648159999999&max_results=2500&search_radius=50000&autoload=1\",\n    )\n\n    def parse(self, response):\n        results = response.json()\n        for data in results:\n            properties = {\n                \"ref\": data[\"id\"],\n                \"name\": data[\"store\"],\n                \"lat\": data[\"lat\"],\n                \"lon\": data[\"lng\"],\n                \"addr_full\": data[\"address\"],\n                \"city\": data[\"city\"],\n                \"state\": data[\"state\"],\n                \"postcode\": data[\"zip\"],\n                \"country\": data[\"country\"],\n                \"phone\": data[\"phone\"],\n                \"website\": data[\"url\"],\n            }\n\n            yield GeojsonPointItem(**properties)\n", "path": "locations/spiders/western_family.py"}], "after_files": [{"content": null, "path": "locations/spiders/western_family.py"}]}