prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  Pizza Hut Spider returns some closed outlets
  It looks like the GB Pizza Hut spider "pizza_hut_gb" is returning a number of outlets that have closed. These are evident when the website either redirects to https://www.pizzahut.co.uk/restaurants/find or https://www.pizzahut.co.uk/restaurants/error/filenotfound . It seems that Pizza Hut are leaving up the https://www.pizzahut.co.uk/huts/uk-2/... web page after the outlet has closed, presumably for SEO reasons. These pages still contain the old location and web address, which the spider then picks up.
  
  Examples include https://www.pizzahut.co.uk/huts/uk-2/437-ayr/ and https://www.pizzahut.co.uk/huts/uk-2/390-barrow/ .
  
  I think these closed outlets can probably be removed from the dataset returned by looking at the openingHours LD field on the /huts/uk-2/ pages. The closed outlets seem to always have "openingHours":[]. The open branches have some sensible content there.
  
  --- 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/pizza_hut_gb.py`
  Content:
  ```
  1 from scrapy.spiders import SitemapSpider
  2 
  3 from locations.spiders.vapestore_gb import clean_address
  4 from locations.structured_data_spider import StructuredDataSpider
  5 
  6 
  7 class PizzaHutGB(SitemapSpider, StructuredDataSpider):
  8     name = "pizza_hut_gb"
  9     item_attributes = {"brand": "Pizza Hut", "brand_wikidata": "Q191615"}
  10     sitemap_urls = ["https://www.pizzahut.co.uk/sitemap.xml"]
  11     sitemap_rules = [
  12         (r"https:\/\/www\.pizzahut\.co\.uk\/huts\/[-\w]+\/([-.\w]+)\/$", "parse_sd")
  13     ]
  14     wanted_types = ["FastFoodRestaurant"]
  15 
  16     def inspect_item(self, item, response):
  17         item["street_address"] = clean_address(item["street_address"])
  18 
  19         if item["website"].startswith("https://www.pizzahut.co.uk/huts/"):
  20             item["brand"] = "Pizza Hut Delivery"
  21             item["brand_wikidata"] = "Q107293079"
  22 
  23         yield item
  24
  ```
  --- 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()
  
  ```
  
golden_diff: diff --git a/locations/spiders/pizza_hut_gb.py b/locations/spiders/pizza_hut_gb.py
  --- a/locations/spiders/pizza_hut_gb.py
  +++ b/locations/spiders/pizza_hut_gb.py
  @@ -7,17 +7,19 @@
   class PizzaHutGB(SitemapSpider, StructuredDataSpider):
       name = "pizza_hut_gb"
       item_attributes = {"brand": "Pizza Hut", "brand_wikidata": "Q191615"}
  +    PIZZA_HUT_DELIVERY = {"brand": "Pizza Hut Delivery", "brand_wikidata": "Q107293079"}
       sitemap_urls = ["https://www.pizzahut.co.uk/sitemap.xml"]
       sitemap_rules = [
           (r"https:\/\/www\.pizzahut\.co\.uk\/huts\/[-\w]+\/([-.\w]+)\/$", "parse_sd")
       ]
  -    wanted_types = ["FastFoodRestaurant"]
   
  -    def inspect_item(self, item, response):
  +    def post_process_item(self, item, response, ld_data, **kwargs):
           item["street_address"] = clean_address(item["street_address"])
   
           if item["website"].startswith("https://www.pizzahut.co.uk/huts/"):
  -            item["brand"] = "Pizza Hut Delivery"
  -            item["brand_wikidata"] = "Q107293079"
  +            item.update(self.PIZZA_HUT_DELIVERY)
  +
  +        if not item["opening_hours"]:
  +            return
   
           yield item
  
verification_info: {"golden_diff": "diff --git a/locations/spiders/pizza_hut_gb.py b/locations/spiders/pizza_hut_gb.py\n--- a/locations/spiders/pizza_hut_gb.py\n+++ b/locations/spiders/pizza_hut_gb.py\n@@ -7,17 +7,19 @@\n class PizzaHutGB(SitemapSpider, StructuredDataSpider):\n     name = \"pizza_hut_gb\"\n     item_attributes = {\"brand\": \"Pizza Hut\", \"brand_wikidata\": \"Q191615\"}\n+    PIZZA_HUT_DELIVERY = {\"brand\": \"Pizza Hut Delivery\", \"brand_wikidata\": \"Q107293079\"}\n     sitemap_urls = [\"https://www.pizzahut.co.uk/sitemap.xml\"]\n     sitemap_rules = [\n         (r\"https:\\/\\/www\\.pizzahut\\.co\\.uk\\/huts\\/[-\\w]+\\/([-.\\w]+)\\/$\", \"parse_sd\")\n     ]\n-    wanted_types = [\"FastFoodRestaurant\"]\n \n-    def inspect_item(self, item, response):\n+    def post_process_item(self, item, response, ld_data, **kwargs):\n         item[\"street_address\"] = clean_address(item[\"street_address\"])\n \n         if item[\"website\"].startswith(\"https://www.pizzahut.co.uk/huts/\"):\n-            item[\"brand\"] = \"Pizza Hut Delivery\"\n-            item[\"brand_wikidata\"] = \"Q107293079\"\n+            item.update(self.PIZZA_HUT_DELIVERY)\n+\n+        if not item[\"opening_hours\"]:\n+            return\n \n         yield item\n", "issue": "Pizza Hut Spider returns some closed outlets\nIt looks like the GB Pizza Hut spider \"pizza_hut_gb\" is returning a number of outlets that have closed. These are evident when the website either redirects to https://www.pizzahut.co.uk/restaurants/find or https://www.pizzahut.co.uk/restaurants/error/filenotfound . It seems that Pizza Hut are leaving up the https://www.pizzahut.co.uk/huts/uk-2/... web page after the outlet has closed, presumably for SEO reasons. These pages still contain the old location and web address, which the spider then picks up.\r\n\r\nExamples include https://www.pizzahut.co.uk/huts/uk-2/437-ayr/ and https://www.pizzahut.co.uk/huts/uk-2/390-barrow/ .\r\n\r\nI think these closed outlets can probably be removed from the dataset returned by looking at the openingHours LD field on the /huts/uk-2/ pages. The closed outlets seem to always have \"openingHours\":[]. The open branches have some sensible content there.\n", "before_files": [{"content": "from scrapy.spiders import SitemapSpider\n\nfrom locations.spiders.vapestore_gb import clean_address\nfrom locations.structured_data_spider import StructuredDataSpider\n\n\nclass PizzaHutGB(SitemapSpider, StructuredDataSpider):\n    name = \"pizza_hut_gb\"\n    item_attributes = {\"brand\": \"Pizza Hut\", \"brand_wikidata\": \"Q191615\"}\n    sitemap_urls = [\"https://www.pizzahut.co.uk/sitemap.xml\"]\n    sitemap_rules = [\n        (r\"https:\\/\\/www\\.pizzahut\\.co\\.uk\\/huts\\/[-\\w]+\\/([-.\\w]+)\\/$\", \"parse_sd\")\n    ]\n    wanted_types = [\"FastFoodRestaurant\"]\n\n    def inspect_item(self, item, response):\n        item[\"street_address\"] = clean_address(item[\"street_address\"])\n\n        if item[\"website\"].startswith(\"https://www.pizzahut.co.uk/huts/\"):\n            item[\"brand\"] = \"Pizza Hut Delivery\"\n            item[\"brand_wikidata\"] = \"Q107293079\"\n\n        yield item\n", "path": "locations/spiders/pizza_hut_gb.py"}], "after_files": [{"content": "from scrapy.spiders import SitemapSpider\n\nfrom locations.spiders.vapestore_gb import clean_address\nfrom locations.structured_data_spider import StructuredDataSpider\n\n\nclass PizzaHutGB(SitemapSpider, StructuredDataSpider):\n    name = \"pizza_hut_gb\"\n    item_attributes = {\"brand\": \"Pizza Hut\", \"brand_wikidata\": \"Q191615\"}\n    PIZZA_HUT_DELIVERY = {\"brand\": \"Pizza Hut Delivery\", \"brand_wikidata\": \"Q107293079\"}\n    sitemap_urls = [\"https://www.pizzahut.co.uk/sitemap.xml\"]\n    sitemap_rules = [\n        (r\"https:\\/\\/www\\.pizzahut\\.co\\.uk\\/huts\\/[-\\w]+\\/([-.\\w]+)\\/$\", \"parse_sd\")\n    ]\n\n    def post_process_item(self, item, response, ld_data, **kwargs):\n        item[\"street_address\"] = clean_address(item[\"street_address\"])\n\n        if item[\"website\"].startswith(\"https://www.pizzahut.co.uk/huts/\"):\n            item.update(self.PIZZA_HUT_DELIVERY)\n\n        if not item[\"opening_hours\"]:\n            return\n\n        yield item\n", "path": "locations/spiders/pizza_hut_gb.py"}]}