We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
house_au: split off new brand for House Bed & Bath
house_au captures two brands:
* [House](https://www.wikidata.org/wiki/Q117921987)
* House Bed & Bath (https://www.wikidata.org/wiki/Q126176210)

Currently the spider doesn't differentiate the two brands. It should though.

Reference: https://globalretailbrands.net/

--- 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/house_au.py`
Content:
```
1 import reverse_geocoder
2 from scrapy import Request, Spider
3 
4 from locations.categories import Categories
5 from locations.dict_parser import DictParser
6 from locations.hours import OpeningHours
7 from locations.pipelines.address_clean_up import clean_address
8 
9 
10 class HouseAUSpider(Spider):
11     name = "house_au"
12     item_attributes = {
13         "brand": "House",
14         "brand_wikidata": "Q117921987",
15         "extras": Categories.SHOP_HOUSEWARE.value,
16     }
17     allowed_domains = ["www.house.com.au"]
18     start_urls = ["https://www.house.com.au/api/get-stores"]
19 
20     def start_requests(self):
21         for url in self.start_urls:
22             yield Request(url=url, method="POST")
23 
24     def parse(self, response):
25         for location in response.json():
26             item = DictParser.parse(location)
27 
28             # Some stores have wildly incorrect coordinates for
29             # locations as far away as France. Only add geometry
30             # where coordinates existing within Australia.
31             if result := reverse_geocoder.get((location["latitude"], location["longitude"]), mode=1, verbose=False):
32                 if result["cc"] == "AU":
33                     item["geometry"] = location["location"]
34 
35             item["street_address"] = clean_address([location["address1"], location["address2"]])
36             item["website"] = "https://www.house.com.au/stores/" + location["slug"]
37             item["opening_hours"] = OpeningHours()
38             for day_name, hours in location["storeHours"].items():
39                 if hours["open"] == "-" or hours["close"] == "-" or hours["close"] == "17:3016:00":
40                     continue
41                 item["opening_hours"].add_range(
42                     day_name.title(),
43                     hours["open"].replace(".", ":"),
44                     hours["close"].replace(".", ":").replace(":-", ":"),
45                 )
46             yield item
47
```
--- 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/house_au.py b/locations/spiders/house_au.py
--- a/locations/spiders/house_au.py
+++ b/locations/spiders/house_au.py
@@ -9,13 +9,16 @@
 
 class HouseAUSpider(Spider):
     name = "house_au"
-    item_attributes = {
-        "brand": "House",
-        "brand_wikidata": "Q117921987",
-        "extras": Categories.SHOP_HOUSEWARE.value,
-    }
     allowed_domains = ["www.house.com.au"]
     start_urls = ["https://www.house.com.au/api/get-stores"]
+    brands = {
+        "House Bed & Bath": {
+            "brand": "House Bed & Bath",
+            "brand_wikidata": "",
+            "extras": Categories.SHOP_HOUSEHOLD_LINEN.value,
+        },
+        "House": {"brand": "House", "brand_wikidata": "Q117921987", "extras": Categories.SHOP_HOUSEWARE.value},
+    }
 
     def start_requests(self):
         for url in self.start_urls:
@@ -25,6 +28,12 @@
         for location in response.json():
             item = DictParser.parse(location)
 
+            for brand_name in self.brands.keys():
+                if item["name"].startswith(f"{brand_name} "):
+                    item.update(self.brands[brand_name])
+                    item["branch"] = item["name"].replace(f"{brand_name} ", "")
+                    break
+
             # Some stores have wildly incorrect coordinates for
             # locations as far away as France. Only add geometry
             # where coordinates existing within Australia.
@@ -34,6 +43,7 @@
 
             item["street_address"] = clean_address([location["address1"], location["address2"]])
             item["website"] = "https://www.house.com.au/stores/" + location["slug"]
+
             item["opening_hours"] = OpeningHours()
             for day_name, hours in location["storeHours"].items():
                 if hours["open"] == "-" or hours["close"] == "-" or hours["close"] == "17:3016:00":
@@ -43,4 +53,5 @@
                     hours["open"].replace(".", ":"),
                     hours["close"].replace(".", ":").replace(":-", ":"),
                 )
+
             yield item

{"golden_diff": "diff --git a/locations/spiders/house_au.py b/locations/spiders/house_au.py\n--- a/locations/spiders/house_au.py\n+++ b/locations/spiders/house_au.py\n@@ -9,13 +9,16 @@\n \n class HouseAUSpider(Spider):\n     name = \"house_au\"\n-    item_attributes = {\n-        \"brand\": \"House\",\n-        \"brand_wikidata\": \"Q117921987\",\n-        \"extras\": Categories.SHOP_HOUSEWARE.value,\n-    }\n     allowed_domains = [\"www.house.com.au\"]\n     start_urls = [\"https://www.house.com.au/api/get-stores\"]\n+    brands = {\n+        \"House Bed & Bath\": {\n+            \"brand\": \"House Bed & Bath\",\n+            \"brand_wikidata\": \"\",\n+            \"extras\": Categories.SHOP_HOUSEHOLD_LINEN.value,\n+        },\n+        \"House\": {\"brand\": \"House\", \"brand_wikidata\": \"Q117921987\", \"extras\": Categories.SHOP_HOUSEWARE.value},\n+    }\n \n     def start_requests(self):\n         for url in self.start_urls:\n@@ -25,6 +28,12 @@\n         for location in response.json():\n             item = DictParser.parse(location)\n \n+            for brand_name in self.brands.keys():\n+                if item[\"name\"].startswith(f\"{brand_name} \"):\n+                    item.update(self.brands[brand_name])\n+                    item[\"branch\"] = item[\"name\"].replace(f\"{brand_name} \", \"\")\n+                    break\n+\n             # Some stores have wildly incorrect coordinates for\n             # locations as far away as France. Only add geometry\n             # where coordinates existing within Australia.\n@@ -34,6 +43,7 @@\n \n             item[\"street_address\"] = clean_address([location[\"address1\"], location[\"address2\"]])\n             item[\"website\"] = \"https://www.house.com.au/stores/\" + location[\"slug\"]\n+\n             item[\"opening_hours\"] = OpeningHours()\n             for day_name, hours in location[\"storeHours\"].items():\n                 if hours[\"open\"] == \"-\" or hours[\"close\"] == \"-\" or hours[\"close\"] == \"17:3016:00\":\n@@ -43,4 +53,5 @@\n                     hours[\"open\"].replace(\".\", \":\"),\n                     hours[\"close\"].replace(\".\", \":\").replace(\":-\", \":\"),\n                 )\n+\n             yield item\n", "issue": "house_au: split off new brand for House Bed & Bath\nhouse_au captures two brands:\r\n* [House](https://www.wikidata.org/wiki/Q117921987)\r\n* House Bed & Bath (https://www.wikidata.org/wiki/Q126176210)\r\n\r\nCurrently the spider doesn't differentiate the two brands. It should though.\r\n\r\nReference: https://globalretailbrands.net/\n", "before_files": [{"content": "import reverse_geocoder\nfrom scrapy import Request, Spider\n\nfrom locations.categories import Categories\nfrom locations.dict_parser import DictParser\nfrom locations.hours import OpeningHours\nfrom locations.pipelines.address_clean_up import clean_address\n\n\nclass HouseAUSpider(Spider):\n    name = \"house_au\"\n    item_attributes = {\n        \"brand\": \"House\",\n        \"brand_wikidata\": \"Q117921987\",\n        \"extras\": Categories.SHOP_HOUSEWARE.value,\n    }\n    allowed_domains = [\"www.house.com.au\"]\n    start_urls = [\"https://www.house.com.au/api/get-stores\"]\n\n    def start_requests(self):\n        for url in self.start_urls:\n            yield Request(url=url, method=\"POST\")\n\n    def parse(self, response):\n        for location in response.json():\n            item = DictParser.parse(location)\n\n            # Some stores have wildly incorrect coordinates for\n            # locations as far away as France. Only add geometry\n            # where coordinates existing within Australia.\n            if result := reverse_geocoder.get((location[\"latitude\"], location[\"longitude\"]), mode=1, verbose=False):\n                if result[\"cc\"] == \"AU\":\n                    item[\"geometry\"] = location[\"location\"]\n\n            item[\"street_address\"] = clean_address([location[\"address1\"], location[\"address2\"]])\n            item[\"website\"] = \"https://www.house.com.au/stores/\" + location[\"slug\"]\n            item[\"opening_hours\"] = OpeningHours()\n            for day_name, hours in location[\"storeHours\"].items():\n                if hours[\"open\"] == \"-\" or hours[\"close\"] == \"-\" or hours[\"close\"] == \"17:3016:00\":\n                    continue\n                item[\"opening_hours\"].add_range(\n                    day_name.title(),\n                    hours[\"open\"].replace(\".\", \":\"),\n                    hours[\"close\"].replace(\".\", \":\").replace(\":-\", \":\"),\n                )\n            yield item\n", "path": "locations/spiders/house_au.py"}], "after_files": [{"content": "import reverse_geocoder\nfrom scrapy import Request, Spider\n\nfrom locations.categories import Categories\nfrom locations.dict_parser import DictParser\nfrom locations.hours import OpeningHours\nfrom locations.pipelines.address_clean_up import clean_address\n\n\nclass HouseAUSpider(Spider):\n    name = \"house_au\"\n    allowed_domains = [\"www.house.com.au\"]\n    start_urls = [\"https://www.house.com.au/api/get-stores\"]\n    brands = {\n        \"House Bed & Bath\": {\n            \"brand\": \"House Bed & Bath\",\n            \"brand_wikidata\": \"\",\n            \"extras\": Categories.SHOP_HOUSEHOLD_LINEN.value,\n        },\n        \"House\": {\"brand\": \"House\", \"brand_wikidata\": \"Q117921987\", \"extras\": Categories.SHOP_HOUSEWARE.value},\n    }\n\n    def start_requests(self):\n        for url in self.start_urls:\n            yield Request(url=url, method=\"POST\")\n\n    def parse(self, response):\n        for location in response.json():\n            item = DictParser.parse(location)\n\n            for brand_name in self.brands.keys():\n                if item[\"name\"].startswith(f\"{brand_name} \"):\n                    item.update(self.brands[brand_name])\n                    item[\"branch\"] = item[\"name\"].replace(f\"{brand_name} \", \"\")\n                    break\n\n            # Some stores have wildly incorrect coordinates for\n            # locations as far away as France. Only add geometry\n            # where coordinates existing within Australia.\n            if result := reverse_geocoder.get((location[\"latitude\"], location[\"longitude\"]), mode=1, verbose=False):\n                if result[\"cc\"] == \"AU\":\n                    item[\"geometry\"] = location[\"location\"]\n\n            item[\"street_address\"] = clean_address([location[\"address1\"], location[\"address2\"]])\n            item[\"website\"] = \"https://www.house.com.au/stores/\" + location[\"slug\"]\n\n            item[\"opening_hours\"] = OpeningHours()\n            for day_name, hours in location[\"storeHours\"].items():\n                if hours[\"open\"] == \"-\" or hours[\"close\"] == \"-\" or hours[\"close\"] == \"17:3016:00\":\n                    continue\n                item[\"opening_hours\"].add_range(\n                    day_name.title(),\n                    hours[\"open\"].replace(\".\", \":\"),\n                    hours[\"close\"].replace(\".\", \":\").replace(\":-\", \":\"),\n                )\n\n            yield item\n", "path": "locations/spiders/house_au.py"}]}