prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  PDF Export URL pattern
  ### Describe the Bug
  The web app calls `/REGION/LANG/wp-json/ig-mpdf/v1/pdf` to export a PDF which returns a 404. Our API currently uses `REGION/LANG/pdf`.
  
  The normal mapping does not work, as we
  
  ### Steps to Reproduce
  
  ```shell
  curl 'https://malte-test.tuerantuer.org/joerdenstorf/de/wp-json/ig-mpdf/v1/pdf'
  ```
  
  ### Expected Behavior
  Map old URL pattern to new endpoint.
  
  
  ### Actual Behavior
  404
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `integreat_cms/api/urls.py`
  Content:
  ```
  1 """
  2 Expansion of API-Endpoints for the CMS
  3 """
  4 from django.urls import include, path, re_path
  5 
  6 from .v3.events import events
  7 from .v3.feedback import (
  8     page_feedback,
  9     search_result_feedback,
  10     region_feedback,
  11     offer_feedback,
  12     offer_list_feedback,
  13     event_list_feedback,
  14     event_feedback,
  15     poi_feedback,
  16     map_feedback,
  17     imprint_page_feedback,
  18     legacy_feedback_endpoint,
  19 )
  20 from .v3.imprint import imprint
  21 from .v3.languages import languages
  22 from .v3.locations import locations
  23 from .v3.pages import pages, children, parents, single_page
  24 from .v3.pdf_export import pdf_export
  25 from .v3.push_notifications import sent_push_notifications
  26 from .v3.regions import regions, liveregions, hiddenregions
  27 from .v3.offers import offers
  28 
  29 
  30 #: The namespace for this URL config (see :attr:`django.urls.ResolverMatch.app_name`)
  31 app_name = "api"
  32 
  33 content_api_urlpatterns = [
  34     path("pages/", pages, name="pages"),
  35     path("locations/", locations, name="locations"),
  36     path("events/", events, name="events"),
  37     path("page/", single_page, name="single_page"),
  38     path("post/", single_page, name="single_page"),
  39     path("children/", children, name="children"),
  40     path("parents/", parents, name="parents"),
  41     path("pdf/", pdf_export, name="pdf_export"),
  42     path(
  43         "sent_push_notifications/",
  44         sent_push_notifications,
  45         name="sent_push_notifications",
  46     ),
  47     path("imprint/", imprint, name="imprint"),
  48     path("disclaimer/", imprint, name="imprint"),
  49     path("offers/", offers, name="offers"),
  50     path("extras/", offers, name="offers"),
  51     re_path(
  52         r"^feedback/?$",
  53         legacy_feedback_endpoint.legacy_feedback_endpoint,
  54         name="legacy_feedback_endpoint",
  55     ),
  56     path(
  57         "feedback/",
  58         include(
  59             [
  60                 re_path(
  61                     r"^categories/?$",
  62                     region_feedback.region_feedback,
  63                     name="region_feedback",
  64                 ),
  65                 re_path(r"^page/?$", page_feedback.page_feedback, name="page_feedback"),
  66                 re_path(r"^poi/?$", poi_feedback.poi_feedback, name="poi_feedback"),
  67                 re_path(
  68                     r"^event/?$", event_feedback.event_feedback, name="event_feedback"
  69                 ),
  70                 re_path(
  71                     r"^events/?$",
  72                     event_list_feedback.event_list_feedback,
  73                     name="event_list_feedback",
  74                 ),
  75                 re_path(
  76                     r"^imprint-page/?$",
  77                     imprint_page_feedback.imprint_page_feedback,
  78                     name="imprint_page_feedbacks",
  79                 ),
  80                 re_path(r"^map/?$", map_feedback.map_feedback, name="map_feedback"),
  81                 re_path(
  82                     r"^search/?$",
  83                     search_result_feedback.search_result_feedback,
  84                     name="search_result_feedback",
  85                 ),
  86                 re_path(
  87                     r"^offers/?$",
  88                     offer_list_feedback.offer_list_feedback,
  89                     name="offer_list_feedback",
  90                 ),
  91                 re_path(
  92                     r"^extras/?$",
  93                     offer_list_feedback.offer_list_feedback,
  94                     name="offer_list_feedback",
  95                 ),
  96                 re_path(
  97                     r"^offer/?$", offer_feedback.offer_feedback, name="offer_feedback"
  98                 ),
  99                 re_path(
  100                     r"^extra/?$", offer_feedback.offer_feedback, name="offer_feedback"
  101                 ),
  102             ]
  103         ),
  104     ),
  105 ]
  106 
  107 region_api_urlpatterns = [
  108     path("", regions, name="regions"),
  109     path("live/", liveregions, name="regions_live"),
  110     path("hidden/", hiddenregions, name="regions_hidden"),
  111 ]
  112 
  113 #: The url patterns of this module (see :doc:`topics/http/urls`)
  114 urlpatterns = [
  115     path("api/regions/", include(region_api_urlpatterns)),
  116     path("wp-json/extensions/v3/sites/", include(region_api_urlpatterns)),
  117     path(
  118         "api/<slug:region_slug>/",
  119         include(
  120             [
  121                 path("languages/", languages, name="languages"),
  122                 path("offers/", offers, name="offers"),
  123                 path("extras/", offers, name="offers"),
  124                 path("<slug:language_slug>/", include(content_api_urlpatterns)),
  125             ]
  126         ),
  127     ),
  128     path(
  129         "<slug:region_slug>/",
  130         include(
  131             [
  132                 path(
  133                     "de/wp-json/extensions/v3/languages/", languages, name="languages"
  134                 ),
  135                 path(
  136                     "<slug:language_slug>/wp-json/extensions/v3/",
  137                     include(content_api_urlpatterns),
  138                 ),
  139             ]
  140         ),
  141     ),
  142 ]
  143
  ```
  --- 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/integreat_cms/api/urls.py b/integreat_cms/api/urls.py
  --- a/integreat_cms/api/urls.py
  +++ b/integreat_cms/api/urls.py
  @@ -136,6 +136,11 @@
                       "<slug:language_slug>/wp-json/extensions/v3/",
                       include(content_api_urlpatterns),
                   ),
  +                path(
  +                    "<slug:language_slug>/wp-json/ig-mpdf/v1/pdf/",
  +                    pdf_export,
  +                    name="pdf_export",
  +                ),
               ]
           ),
       ),
  
verification_info: {"golden_diff": "diff --git a/integreat_cms/api/urls.py b/integreat_cms/api/urls.py\n--- a/integreat_cms/api/urls.py\n+++ b/integreat_cms/api/urls.py\n@@ -136,6 +136,11 @@\n                     \"<slug:language_slug>/wp-json/extensions/v3/\",\n                     include(content_api_urlpatterns),\n                 ),\n+                path(\n+                    \"<slug:language_slug>/wp-json/ig-mpdf/v1/pdf/\",\n+                    pdf_export,\n+                    name=\"pdf_export\",\n+                ),\n             ]\n         ),\n     ),\n", "issue": "PDF Export URL pattern\n### Describe the Bug\r\nThe web app calls `/REGION/LANG/wp-json/ig-mpdf/v1/pdf` to export a PDF which returns a 404. Our API currently uses `REGION/LANG/pdf`.\r\n\r\nThe normal mapping does not work, as we\r\n\r\n### Steps to Reproduce\r\n\r\n```shell\r\ncurl 'https://malte-test.tuerantuer.org/joerdenstorf/de/wp-json/ig-mpdf/v1/pdf'\r\n```\r\n\r\n### Expected Behavior\r\nMap old URL pattern to new endpoint.\r\n\r\n\r\n### Actual Behavior\r\n404\n", "before_files": [{"content": "\"\"\"\nExpansion of API-Endpoints for the CMS\n\"\"\"\nfrom django.urls import include, path, re_path\n\nfrom .v3.events import events\nfrom .v3.feedback import (\n    page_feedback,\n    search_result_feedback,\n    region_feedback,\n    offer_feedback,\n    offer_list_feedback,\n    event_list_feedback,\n    event_feedback,\n    poi_feedback,\n    map_feedback,\n    imprint_page_feedback,\n    legacy_feedback_endpoint,\n)\nfrom .v3.imprint import imprint\nfrom .v3.languages import languages\nfrom .v3.locations import locations\nfrom .v3.pages import pages, children, parents, single_page\nfrom .v3.pdf_export import pdf_export\nfrom .v3.push_notifications import sent_push_notifications\nfrom .v3.regions import regions, liveregions, hiddenregions\nfrom .v3.offers import offers\n\n\n#: The namespace for this URL config (see :attr:`django.urls.ResolverMatch.app_name`)\napp_name = \"api\"\n\ncontent_api_urlpatterns = [\n    path(\"pages/\", pages, name=\"pages\"),\n    path(\"locations/\", locations, name=\"locations\"),\n    path(\"events/\", events, name=\"events\"),\n    path(\"page/\", single_page, name=\"single_page\"),\n    path(\"post/\", single_page, name=\"single_page\"),\n    path(\"children/\", children, name=\"children\"),\n    path(\"parents/\", parents, name=\"parents\"),\n    path(\"pdf/\", pdf_export, name=\"pdf_export\"),\n    path(\n        \"sent_push_notifications/\",\n        sent_push_notifications,\n        name=\"sent_push_notifications\",\n    ),\n    path(\"imprint/\", imprint, name=\"imprint\"),\n    path(\"disclaimer/\", imprint, name=\"imprint\"),\n    path(\"offers/\", offers, name=\"offers\"),\n    path(\"extras/\", offers, name=\"offers\"),\n    re_path(\n        r\"^feedback/?$\",\n        legacy_feedback_endpoint.legacy_feedback_endpoint,\n        name=\"legacy_feedback_endpoint\",\n    ),\n    path(\n        \"feedback/\",\n        include(\n            [\n                re_path(\n                    r\"^categories/?$\",\n                    region_feedback.region_feedback,\n                    name=\"region_feedback\",\n                ),\n                re_path(r\"^page/?$\", page_feedback.page_feedback, name=\"page_feedback\"),\n                re_path(r\"^poi/?$\", poi_feedback.poi_feedback, name=\"poi_feedback\"),\n                re_path(\n                    r\"^event/?$\", event_feedback.event_feedback, name=\"event_feedback\"\n                ),\n                re_path(\n                    r\"^events/?$\",\n                    event_list_feedback.event_list_feedback,\n                    name=\"event_list_feedback\",\n                ),\n                re_path(\n                    r\"^imprint-page/?$\",\n                    imprint_page_feedback.imprint_page_feedback,\n                    name=\"imprint_page_feedbacks\",\n                ),\n                re_path(r\"^map/?$\", map_feedback.map_feedback, name=\"map_feedback\"),\n                re_path(\n                    r\"^search/?$\",\n                    search_result_feedback.search_result_feedback,\n                    name=\"search_result_feedback\",\n                ),\n                re_path(\n                    r\"^offers/?$\",\n                    offer_list_feedback.offer_list_feedback,\n                    name=\"offer_list_feedback\",\n                ),\n                re_path(\n                    r\"^extras/?$\",\n                    offer_list_feedback.offer_list_feedback,\n                    name=\"offer_list_feedback\",\n                ),\n                re_path(\n                    r\"^offer/?$\", offer_feedback.offer_feedback, name=\"offer_feedback\"\n                ),\n                re_path(\n                    r\"^extra/?$\", offer_feedback.offer_feedback, name=\"offer_feedback\"\n                ),\n            ]\n        ),\n    ),\n]\n\nregion_api_urlpatterns = [\n    path(\"\", regions, name=\"regions\"),\n    path(\"live/\", liveregions, name=\"regions_live\"),\n    path(\"hidden/\", hiddenregions, name=\"regions_hidden\"),\n]\n\n#: The url patterns of this module (see :doc:`topics/http/urls`)\nurlpatterns = [\n    path(\"api/regions/\", include(region_api_urlpatterns)),\n    path(\"wp-json/extensions/v3/sites/\", include(region_api_urlpatterns)),\n    path(\n        \"api/<slug:region_slug>/\",\n        include(\n            [\n                path(\"languages/\", languages, name=\"languages\"),\n                path(\"offers/\", offers, name=\"offers\"),\n                path(\"extras/\", offers, name=\"offers\"),\n                path(\"<slug:language_slug>/\", include(content_api_urlpatterns)),\n            ]\n        ),\n    ),\n    path(\n        \"<slug:region_slug>/\",\n        include(\n            [\n                path(\n                    \"de/wp-json/extensions/v3/languages/\", languages, name=\"languages\"\n                ),\n                path(\n                    \"<slug:language_slug>/wp-json/extensions/v3/\",\n                    include(content_api_urlpatterns),\n                ),\n            ]\n        ),\n    ),\n]\n", "path": "integreat_cms/api/urls.py"}], "after_files": [{"content": "\"\"\"\nExpansion of API-Endpoints for the CMS\n\"\"\"\nfrom django.urls import include, path, re_path\n\nfrom .v3.events import events\nfrom .v3.feedback import (\n    page_feedback,\n    search_result_feedback,\n    region_feedback,\n    offer_feedback,\n    offer_list_feedback,\n    event_list_feedback,\n    event_feedback,\n    poi_feedback,\n    map_feedback,\n    imprint_page_feedback,\n    legacy_feedback_endpoint,\n)\nfrom .v3.imprint import imprint\nfrom .v3.languages import languages\nfrom .v3.locations import locations\nfrom .v3.pages import pages, children, parents, single_page\nfrom .v3.pdf_export import pdf_export\nfrom .v3.push_notifications import sent_push_notifications\nfrom .v3.regions import regions, liveregions, hiddenregions\nfrom .v3.offers import offers\n\n\n#: The namespace for this URL config (see :attr:`django.urls.ResolverMatch.app_name`)\napp_name = \"api\"\n\ncontent_api_urlpatterns = [\n    path(\"pages/\", pages, name=\"pages\"),\n    path(\"locations/\", locations, name=\"locations\"),\n    path(\"events/\", events, name=\"events\"),\n    path(\"page/\", single_page, name=\"single_page\"),\n    path(\"post/\", single_page, name=\"single_page\"),\n    path(\"children/\", children, name=\"children\"),\n    path(\"parents/\", parents, name=\"parents\"),\n    path(\"pdf/\", pdf_export, name=\"pdf_export\"),\n    path(\n        \"sent_push_notifications/\",\n        sent_push_notifications,\n        name=\"sent_push_notifications\",\n    ),\n    path(\"imprint/\", imprint, name=\"imprint\"),\n    path(\"disclaimer/\", imprint, name=\"imprint\"),\n    path(\"offers/\", offers, name=\"offers\"),\n    path(\"extras/\", offers, name=\"offers\"),\n    re_path(\n        r\"^feedback/?$\",\n        legacy_feedback_endpoint.legacy_feedback_endpoint,\n        name=\"legacy_feedback_endpoint\",\n    ),\n    path(\n        \"feedback/\",\n        include(\n            [\n                re_path(\n                    r\"^categories/?$\",\n                    region_feedback.region_feedback,\n                    name=\"region_feedback\",\n                ),\n                re_path(r\"^page/?$\", page_feedback.page_feedback, name=\"page_feedback\"),\n                re_path(r\"^poi/?$\", poi_feedback.poi_feedback, name=\"poi_feedback\"),\n                re_path(\n                    r\"^event/?$\", event_feedback.event_feedback, name=\"event_feedback\"\n                ),\n                re_path(\n                    r\"^events/?$\",\n                    event_list_feedback.event_list_feedback,\n                    name=\"event_list_feedback\",\n                ),\n                re_path(\n                    r\"^imprint-page/?$\",\n                    imprint_page_feedback.imprint_page_feedback,\n                    name=\"imprint_page_feedbacks\",\n                ),\n                re_path(r\"^map/?$\", map_feedback.map_feedback, name=\"map_feedback\"),\n                re_path(\n                    r\"^search/?$\",\n                    search_result_feedback.search_result_feedback,\n                    name=\"search_result_feedback\",\n                ),\n                re_path(\n                    r\"^offers/?$\",\n                    offer_list_feedback.offer_list_feedback,\n                    name=\"offer_list_feedback\",\n                ),\n                re_path(\n                    r\"^extras/?$\",\n                    offer_list_feedback.offer_list_feedback,\n                    name=\"offer_list_feedback\",\n                ),\n                re_path(\n                    r\"^offer/?$\", offer_feedback.offer_feedback, name=\"offer_feedback\"\n                ),\n                re_path(\n                    r\"^extra/?$\", offer_feedback.offer_feedback, name=\"offer_feedback\"\n                ),\n            ]\n        ),\n    ),\n]\n\nregion_api_urlpatterns = [\n    path(\"\", regions, name=\"regions\"),\n    path(\"live/\", liveregions, name=\"regions_live\"),\n    path(\"hidden/\", hiddenregions, name=\"regions_hidden\"),\n]\n\n#: The url patterns of this module (see :doc:`topics/http/urls`)\nurlpatterns = [\n    path(\"api/regions/\", include(region_api_urlpatterns)),\n    path(\"wp-json/extensions/v3/sites/\", include(region_api_urlpatterns)),\n    path(\n        \"api/<slug:region_slug>/\",\n        include(\n            [\n                path(\"languages/\", languages, name=\"languages\"),\n                path(\"offers/\", offers, name=\"offers\"),\n                path(\"extras/\", offers, name=\"offers\"),\n                path(\"<slug:language_slug>/\", include(content_api_urlpatterns)),\n            ]\n        ),\n    ),\n    path(\n        \"<slug:region_slug>/\",\n        include(\n            [\n                path(\n                    \"de/wp-json/extensions/v3/languages/\", languages, name=\"languages\"\n                ),\n                path(\n                    \"<slug:language_slug>/wp-json/extensions/v3/\",\n                    include(content_api_urlpatterns),\n                ),\n                path(\n                    \"<slug:language_slug>/wp-json/ig-mpdf/v1/pdf/\",\n                    pdf_export,\n                    name=\"pdf_export\",\n                ),\n            ]\n        ),\n    ),\n]\n", "path": "integreat_cms/api/urls.py"}]}