prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  Anthropologie spider produces transposed coordinates
  https://www.alltheplaces.xyz/map/#7.69/-75.171/39.95
  
  ![image](https://github.com/alltheplaces/alltheplaces/assets/365751/549c74f8-f0ee-437d-aad5-b6c56cb747fb)
  
  The cause is the upstream data:
  
  https://www.anthropologie.com/stores/rittenhouse-square-philadelphia
  ![image](https://github.com/alltheplaces/alltheplaces/assets/365751/688ab3b4-18ed-435b-a6e1-733784d4c9a7)
  
  It might be worth doing any of the following:
  
  - Suspend the lat/long from the parser for now
  - Contact the company (I'll probably do that shortly) about the bug
  - Any kind of high level validations that can check the expected bounds for a scraper, vs the results?
  
  
  
  --- 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/anthropologie.py`
  Content:
  ```
  1 from scrapy.spiders import SitemapSpider
  2 
  3 from locations.structured_data_spider import StructuredDataSpider
  4 
  5 
  6 class AnthropologieSpider(SitemapSpider, StructuredDataSpider):
  7     name = "anthropologie"
  8     item_attributes = {"brand": "Anthropologie", "brand_wikidata": "Q4773903"}
  9     allowed_domains = ["anthropologie.com"]
  10     sitemap_urls = ["https://www.anthropologie.com/store_sitemap.xml"]
  11     sitemap_rules = [("/stores/", "parse_sd")]
  12     requires_proxy = True
  13
  ```
  --- 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/anthropologie.py b/locations/spiders/anthropologie.py
  --- a/locations/spiders/anthropologie.py
  +++ b/locations/spiders/anthropologie.py
  @@ -1,5 +1,6 @@
   from scrapy.spiders import SitemapSpider
   
  +from locations.items import set_closed
   from locations.structured_data_spider import StructuredDataSpider
   
   
  @@ -10,3 +11,17 @@
       sitemap_urls = ["https://www.anthropologie.com/store_sitemap.xml"]
       sitemap_rules = [("/stores/", "parse_sd")]
       requires_proxy = True
  +
  +    def pre_process_data(self, ld_data, **kwargs):
  +        ld_data["geo"]["latitude"], ld_data["geo"]["longitude"] = (
  +            ld_data["geo"]["longitude"],
  +            ld_data["geo"]["latitude"],
  +        )
  +
  +    def post_process_item(self, item, response, ld_data, **kwargs):
  +        item["branch"] = item.pop("name").removeprefix(" - Anthropologie Store")
  +
  +        if item["branch"].startswith("Closed - ") or item["branch"].endswith(" - Closed"):
  +            set_closed(item)
  +
  +        yield item
  
verification_info: {"golden_diff": "diff --git a/locations/spiders/anthropologie.py b/locations/spiders/anthropologie.py\n--- a/locations/spiders/anthropologie.py\n+++ b/locations/spiders/anthropologie.py\n@@ -1,5 +1,6 @@\n from scrapy.spiders import SitemapSpider\n \n+from locations.items import set_closed\n from locations.structured_data_spider import StructuredDataSpider\n \n \n@@ -10,3 +11,17 @@\n     sitemap_urls = [\"https://www.anthropologie.com/store_sitemap.xml\"]\n     sitemap_rules = [(\"/stores/\", \"parse_sd\")]\n     requires_proxy = True\n+\n+    def pre_process_data(self, ld_data, **kwargs):\n+        ld_data[\"geo\"][\"latitude\"], ld_data[\"geo\"][\"longitude\"] = (\n+            ld_data[\"geo\"][\"longitude\"],\n+            ld_data[\"geo\"][\"latitude\"],\n+        )\n+\n+    def post_process_item(self, item, response, ld_data, **kwargs):\n+        item[\"branch\"] = item.pop(\"name\").removeprefix(\" - Anthropologie Store\")\n+\n+        if item[\"branch\"].startswith(\"Closed - \") or item[\"branch\"].endswith(\" - Closed\"):\n+            set_closed(item)\n+\n+        yield item\n", "issue": "Anthropologie spider produces transposed coordinates\nhttps://www.alltheplaces.xyz/map/#7.69/-75.171/39.95\r\n\r\n![image](https://github.com/alltheplaces/alltheplaces/assets/365751/549c74f8-f0ee-437d-aad5-b6c56cb747fb)\r\n\r\nThe cause is the upstream data:\r\n\r\nhttps://www.anthropologie.com/stores/rittenhouse-square-philadelphia\r\n![image](https://github.com/alltheplaces/alltheplaces/assets/365751/688ab3b4-18ed-435b-a6e1-733784d4c9a7)\r\n\r\nIt might be worth doing any of the following:\r\n\r\n- Suspend the lat/long from the parser for now\r\n- Contact the company (I'll probably do that shortly) about the bug\r\n- Any kind of high level validations that can check the expected bounds for a scraper, vs the results?\r\n\r\n\n", "before_files": [{"content": "from scrapy.spiders import SitemapSpider\n\nfrom locations.structured_data_spider import StructuredDataSpider\n\n\nclass AnthropologieSpider(SitemapSpider, StructuredDataSpider):\n    name = \"anthropologie\"\n    item_attributes = {\"brand\": \"Anthropologie\", \"brand_wikidata\": \"Q4773903\"}\n    allowed_domains = [\"anthropologie.com\"]\n    sitemap_urls = [\"https://www.anthropologie.com/store_sitemap.xml\"]\n    sitemap_rules = [(\"/stores/\", \"parse_sd\")]\n    requires_proxy = True\n", "path": "locations/spiders/anthropologie.py"}], "after_files": [{"content": "from scrapy.spiders import SitemapSpider\n\nfrom locations.items import set_closed\nfrom locations.structured_data_spider import StructuredDataSpider\n\n\nclass AnthropologieSpider(SitemapSpider, StructuredDataSpider):\n    name = \"anthropologie\"\n    item_attributes = {\"brand\": \"Anthropologie\", \"brand_wikidata\": \"Q4773903\"}\n    allowed_domains = [\"anthropologie.com\"]\n    sitemap_urls = [\"https://www.anthropologie.com/store_sitemap.xml\"]\n    sitemap_rules = [(\"/stores/\", \"parse_sd\")]\n    requires_proxy = True\n\n    def pre_process_data(self, ld_data, **kwargs):\n        ld_data[\"geo\"][\"latitude\"], ld_data[\"geo\"][\"longitude\"] = (\n            ld_data[\"geo\"][\"longitude\"],\n            ld_data[\"geo\"][\"latitude\"],\n        )\n\n    def post_process_item(self, item, response, ld_data, **kwargs):\n        item[\"branch\"] = item.pop(\"name\").removeprefix(\" - Anthropologie Store\")\n\n        if item[\"branch\"].startswith(\"Closed - \") or item[\"branch\"].endswith(\" - Closed\"):\n            set_closed(item)\n\n        yield item\n", "path": "locations/spiders/anthropologie.py"}]}