We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
primanti_bros_us: switch to YextSpider as Where2GetIt seemingly no longer used
The store locator at `https://restaurants.primantibros.com/search` now uses Yext APIs for querying store locations, not Where2GetIt.

--- 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/primanti_bros_us.py`
Content:
```
1 from locations.categories import Extras, apply_yes_no
2 from locations.hours import DAYS_FULL, OpeningHours
3 from locations.storefinders.where2getit import Where2GetItSpider
4 
5 
6 class PrimantiBrosUSSpider(Where2GetItSpider):
7     name = "primanti_bros_us"
8     item_attributes = {"brand": "Primanti Bros", "brand_wikidata": "Q7243049"}
9     api_brand_name = "primantibros"
10     api_key = "7CDBB1A2-4AC6-11EB-932C-8917919C4603"
11 
12     def parse_item(self, item, location):
13         item["ref"] = location["uid"]
14         item["street_address"] = ", ".join(filter(None, [location.get("address1"), location.get("address2")]))
15         item["website"] = location.get("menuurl")
16         item["opening_hours"] = OpeningHours()
17         hours_string = ""
18         for day_name in DAYS_FULL:
19             hours_string = f"{hours_string} {day_name}: " + location["{}hours".format(day_name.lower())]
20         item["opening_hours"].add_ranges_from_string(hours_string)
21         apply_yes_no(Extras.DRIVE_THROUGH, item, location["has_drive_through"] == "1", False)
22         yield item
23
```
--- 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/primanti_bros_us.py b/locations/spiders/primanti_bros_us.py
--- a/locations/spiders/primanti_bros_us.py
+++ b/locations/spiders/primanti_bros_us.py
@@ -1,22 +1,18 @@
-from locations.categories import Extras, apply_yes_no
-from locations.hours import DAYS_FULL, OpeningHours
-from locations.storefinders.where2getit import Where2GetItSpider
+from locations.categories import Categories
+from locations.storefinders.yext import YextSpider
 
 
-class PrimantiBrosUSSpider(Where2GetItSpider):
+class PrimantiBrosUSSpider(YextSpider):
     name = "primanti_bros_us"
-    item_attributes = {"brand": "Primanti Bros", "brand_wikidata": "Q7243049"}
-    api_brand_name = "primantibros"
-    api_key = "7CDBB1A2-4AC6-11EB-932C-8917919C4603"
+    item_attributes = {"brand": "Primanti Bros", "brand_wikidata": "Q7243049", "extras": Categories.RESTAURANT.value}
+    api_key = "7515c25fc685bbdd7c5975b6573c6912"
+    api_version = "20220511"
 
     def parse_item(self, item, location):
-        item["ref"] = location["uid"]
-        item["street_address"] = ", ".join(filter(None, [location.get("address1"), location.get("address2")]))
-        item["website"] = location.get("menuurl")
-        item["opening_hours"] = OpeningHours()
-        hours_string = ""
-        for day_name in DAYS_FULL:
-            hours_string = f"{hours_string} {day_name}: " + location["{}hours".format(day_name.lower())]
-        item["opening_hours"].add_ranges_from_string(hours_string)
-        apply_yes_no(Extras.DRIVE_THROUGH, item, location["has_drive_through"] == "1", False)
+        if "test-location" in item["ref"]:
+            return
+        item["ref"] = location.get("c_pagesURL")
+        item["name"] = location.get("c_searchName")
+        item["website"] = location.get("c_pagesURL")
+        item.pop("twitter", None)
         yield item

{"golden_diff": "diff --git a/locations/spiders/primanti_bros_us.py b/locations/spiders/primanti_bros_us.py\n--- a/locations/spiders/primanti_bros_us.py\n+++ b/locations/spiders/primanti_bros_us.py\n@@ -1,22 +1,18 @@\n-from locations.categories import Extras, apply_yes_no\n-from locations.hours import DAYS_FULL, OpeningHours\n-from locations.storefinders.where2getit import Where2GetItSpider\n+from locations.categories import Categories\n+from locations.storefinders.yext import YextSpider\n \n \n-class PrimantiBrosUSSpider(Where2GetItSpider):\n+class PrimantiBrosUSSpider(YextSpider):\n     name = \"primanti_bros_us\"\n-    item_attributes = {\"brand\": \"Primanti Bros\", \"brand_wikidata\": \"Q7243049\"}\n-    api_brand_name = \"primantibros\"\n-    api_key = \"7CDBB1A2-4AC6-11EB-932C-8917919C4603\"\n+    item_attributes = {\"brand\": \"Primanti Bros\", \"brand_wikidata\": \"Q7243049\", \"extras\": Categories.RESTAURANT.value}\n+    api_key = \"7515c25fc685bbdd7c5975b6573c6912\"\n+    api_version = \"20220511\"\n \n     def parse_item(self, item, location):\n-        item[\"ref\"] = location[\"uid\"]\n-        item[\"street_address\"] = \", \".join(filter(None, [location.get(\"address1\"), location.get(\"address2\")]))\n-        item[\"website\"] = location.get(\"menuurl\")\n-        item[\"opening_hours\"] = OpeningHours()\n-        hours_string = \"\"\n-        for day_name in DAYS_FULL:\n-            hours_string = f\"{hours_string} {day_name}: \" + location[\"{}hours\".format(day_name.lower())]\n-        item[\"opening_hours\"].add_ranges_from_string(hours_string)\n-        apply_yes_no(Extras.DRIVE_THROUGH, item, location[\"has_drive_through\"] == \"1\", False)\n+        if \"test-location\" in item[\"ref\"]:\n+            return\n+        item[\"ref\"] = location.get(\"c_pagesURL\")\n+        item[\"name\"] = location.get(\"c_searchName\")\n+        item[\"website\"] = location.get(\"c_pagesURL\")\n+        item.pop(\"twitter\", None)\n         yield item\n", "issue": "primanti_bros_us: switch to YextSpider as Where2GetIt seemingly no longer used\nThe store locator at `https://restaurants.primantibros.com/search` now uses Yext APIs for querying store locations, not Where2GetIt.\n", "before_files": [{"content": "from locations.categories import Extras, apply_yes_no\nfrom locations.hours import DAYS_FULL, OpeningHours\nfrom locations.storefinders.where2getit import Where2GetItSpider\n\n\nclass PrimantiBrosUSSpider(Where2GetItSpider):\n    name = \"primanti_bros_us\"\n    item_attributes = {\"brand\": \"Primanti Bros\", \"brand_wikidata\": \"Q7243049\"}\n    api_brand_name = \"primantibros\"\n    api_key = \"7CDBB1A2-4AC6-11EB-932C-8917919C4603\"\n\n    def parse_item(self, item, location):\n        item[\"ref\"] = location[\"uid\"]\n        item[\"street_address\"] = \", \".join(filter(None, [location.get(\"address1\"), location.get(\"address2\")]))\n        item[\"website\"] = location.get(\"menuurl\")\n        item[\"opening_hours\"] = OpeningHours()\n        hours_string = \"\"\n        for day_name in DAYS_FULL:\n            hours_string = f\"{hours_string} {day_name}: \" + location[\"{}hours\".format(day_name.lower())]\n        item[\"opening_hours\"].add_ranges_from_string(hours_string)\n        apply_yes_no(Extras.DRIVE_THROUGH, item, location[\"has_drive_through\"] == \"1\", False)\n        yield item\n", "path": "locations/spiders/primanti_bros_us.py"}], "after_files": [{"content": "from locations.categories import Categories\nfrom locations.storefinders.yext import YextSpider\n\n\nclass PrimantiBrosUSSpider(YextSpider):\n    name = \"primanti_bros_us\"\n    item_attributes = {\"brand\": \"Primanti Bros\", \"brand_wikidata\": \"Q7243049\", \"extras\": Categories.RESTAURANT.value}\n    api_key = \"7515c25fc685bbdd7c5975b6573c6912\"\n    api_version = \"20220511\"\n\n    def parse_item(self, item, location):\n        if \"test-location\" in item[\"ref\"]:\n            return\n        item[\"ref\"] = location.get(\"c_pagesURL\")\n        item[\"name\"] = location.get(\"c_searchName\")\n        item[\"website\"] = location.get(\"c_pagesURL\")\n        item.pop(\"twitter\", None)\n        yield item\n", "path": "locations/spiders/primanti_bros_us.py"}]}