prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  🧹 Remove hompage related frontend code
  Once https://github.com/mdn/yari/issues/2438 lands, we need to go into the Kuma forest and find all things related to the homepage frontend code, chop it down, and clear it out.
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `kuma/landing/views.py`
  Content:
  ```
  1 from django.conf import settings
  2 from django.http import HttpResponse
  3 from django.shortcuts import redirect, render
  4 from django.views import static
  5 from django.views.decorators.cache import never_cache
  6 from django.views.generic import RedirectView
  7 
  8 from kuma.core.decorators import ensure_wiki_domain, shared_cache_control
  9 from kuma.core.utils import is_wiki
  10 from kuma.feeder.models import Bundle
  11 from kuma.feeder.sections import SECTION_HACKS
  12 from kuma.search.models import Filter
  13 
  14 from .utils import favicon_url
  15 
  16 
  17 @shared_cache_control
  18 def contribute_json(request):
  19     return static.serve(request, "contribute.json", document_root=settings.ROOT)
  20 
  21 
  22 @shared_cache_control
  23 def home(request):
  24     """Home page."""
  25     context = {}
  26     # Need for both wiki and react homepage
  27     context["updates"] = list(Bundle.objects.recent_entries(SECTION_HACKS.updates)[:5])
  28 
  29     # The default template name
  30     template_name = "landing/react_homepage.html"
  31     if is_wiki(request):
  32         template_name = "landing/homepage.html"
  33         context["default_filters"] = Filter.objects.default_filters()
  34     return render(request, template_name, context)
  35 
  36 
  37 @ensure_wiki_domain
  38 @never_cache
  39 def maintenance_mode(request):
  40     if settings.MAINTENANCE_MODE:
  41         return render(request, "landing/maintenance-mode.html")
  42     else:
  43         return redirect("home")
  44 
  45 
  46 @ensure_wiki_domain
  47 @shared_cache_control
  48 def promote_buttons(request):
  49     """Bug 646192: MDN affiliate buttons"""
  50     return render(request, "landing/promote_buttons.html")
  51 
  52 
  53 ROBOTS_ALL_ALLOWED_TXT = """\
  54 User-agent: *
  55 Sitemap: https://wiki.developer.mozilla.org/sitemap.xml
  56 
  57 Disallow:
  58 """
  59 
  60 ROBOTS_ALLOWED_TXT = """\
  61 User-agent: *
  62 Sitemap: https://developer.mozilla.org/sitemap.xml
  63 
  64 Disallow: /api/
  65 Disallow: /*docs/get-documents
  66 Disallow: /*docs/Experiment:*
  67 Disallow: /*$children
  68 Disallow: /*docs.json
  69 Disallow: /*/files/
  70 Disallow: /media
  71 Disallow: /*profiles*/edit
  72 """ + "\n".join(
  73     "Disallow: /{locale}/search".format(locale=locale)
  74     for locale in settings.ENABLED_LOCALES
  75 )
  76 
  77 ROBOTS_GO_AWAY_TXT = """\
  78 User-Agent: *
  79 Disallow: /
  80 """
  81 
  82 
  83 @shared_cache_control
  84 def robots_txt(request):
  85     """Serve robots.txt that allows or forbids robots."""
  86     host = request.get_host()
  87     if host in settings.ALLOW_ROBOTS_DOMAINS:
  88         robots = ""
  89     elif host in settings.ALLOW_ROBOTS_WEB_DOMAINS:
  90         if host == settings.WIKI_HOST:
  91             robots = ROBOTS_ALL_ALLOWED_TXT
  92         else:
  93             robots = ROBOTS_ALLOWED_TXT
  94     else:
  95         robots = ROBOTS_GO_AWAY_TXT
  96     return HttpResponse(robots, content_type="text/plain")
  97 
  98 
  99 class FaviconRedirect(RedirectView):
  100     """Redirect to the favicon in the static img folder (bug 1402497)"""
  101 
  102     def get_redirect_url(self, *args, **kwargs):
  103         return favicon_url()
  104
  ```
  
  Path: `kuma/landing/urls.py`
  Content:
  ```
  1 from django.urls import re_path
  2 
  3 from kuma.core.decorators import shared_cache_control
  4 
  5 from . import views
  6 
  7 
  8 MONTH = 60 * 60 * 24 * 30
  9 
  10 
  11 lang_urlpatterns = [
  12     re_path(r"^$", views.home, name="home"),
  13     re_path(r"^maintenance-mode/?$", views.maintenance_mode, name="maintenance_mode"),
  14     re_path(r"^promote/?$", views.promote_buttons, name="promote"),
  15     re_path(r"^promote/buttons/?$", views.promote_buttons, name="promote_buttons"),
  16 ]
  17 
  18 urlpatterns = [
  19     re_path(r"^contribute\.json$", views.contribute_json, name="contribute_json"),
  20     re_path(r"^robots.txt$", views.robots_txt, name="robots_txt"),
  21     re_path(
  22         r"^favicon.ico$",
  23         shared_cache_control(views.FaviconRedirect.as_view(), s_maxage=MONTH),
  24         name="favicon_ico",
  25     ),
  26 ]
  27
  ```
  --- 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/kuma/landing/urls.py b/kuma/landing/urls.py
  --- a/kuma/landing/urls.py
  +++ b/kuma/landing/urls.py
  @@ -11,12 +11,9 @@
   lang_urlpatterns = [
       re_path(r"^$", views.home, name="home"),
       re_path(r"^maintenance-mode/?$", views.maintenance_mode, name="maintenance_mode"),
  -    re_path(r"^promote/?$", views.promote_buttons, name="promote"),
  -    re_path(r"^promote/buttons/?$", views.promote_buttons, name="promote_buttons"),
   ]
   
   urlpatterns = [
  -    re_path(r"^contribute\.json$", views.contribute_json, name="contribute_json"),
       re_path(r"^robots.txt$", views.robots_txt, name="robots_txt"),
       re_path(
           r"^favicon.ico$",
  diff --git a/kuma/landing/views.py b/kuma/landing/views.py
  --- a/kuma/landing/views.py
  +++ b/kuma/landing/views.py
  @@ -1,37 +1,25 @@
   from django.conf import settings
   from django.http import HttpResponse
   from django.shortcuts import redirect, render
  -from django.views import static
   from django.views.decorators.cache import never_cache
   from django.views.generic import RedirectView
   
   from kuma.core.decorators import ensure_wiki_domain, shared_cache_control
  -from kuma.core.utils import is_wiki
  -from kuma.feeder.models import Bundle
  -from kuma.feeder.sections import SECTION_HACKS
  -from kuma.search.models import Filter
   
   from .utils import favicon_url
   
   
  -@shared_cache_control
  -def contribute_json(request):
  -    return static.serve(request, "contribute.json", document_root=settings.ROOT)
  -
  -
  -@shared_cache_control
   def home(request):
       """Home page."""
  -    context = {}
  -    # Need for both wiki and react homepage
  -    context["updates"] = list(Bundle.objects.recent_entries(SECTION_HACKS.updates)[:5])
  -
  -    # The default template name
  -    template_name = "landing/react_homepage.html"
  -    if is_wiki(request):
  -        template_name = "landing/homepage.html"
  -        context["default_filters"] = Filter.objects.default_filters()
  -    return render(request, template_name, context)
  +    return HttpResponse(
  +        """
  +    <html>
  +    End of an era. Kuma's no longer rendering a home page.<br>
  +    See project Yari.
  +    </html>
  +    """,
  +        content_type="text/html",
  +    )
   
   
   @ensure_wiki_domain
  @@ -43,13 +31,6 @@
           return redirect("home")
   
   
  -@ensure_wiki_domain
  -@shared_cache_control
  -def promote_buttons(request):
  -    """Bug 646192: MDN affiliate buttons"""
  -    return render(request, "landing/promote_buttons.html")
  -
  -
   ROBOTS_ALL_ALLOWED_TXT = """\
   User-agent: *
   Sitemap: https://wiki.developer.mozilla.org/sitemap.xml
  
verification_info: {"golden_diff": "diff --git a/kuma/landing/urls.py b/kuma/landing/urls.py\n--- a/kuma/landing/urls.py\n+++ b/kuma/landing/urls.py\n@@ -11,12 +11,9 @@\n lang_urlpatterns = [\n     re_path(r\"^$\", views.home, name=\"home\"),\n     re_path(r\"^maintenance-mode/?$\", views.maintenance_mode, name=\"maintenance_mode\"),\n-    re_path(r\"^promote/?$\", views.promote_buttons, name=\"promote\"),\n-    re_path(r\"^promote/buttons/?$\", views.promote_buttons, name=\"promote_buttons\"),\n ]\n \n urlpatterns = [\n-    re_path(r\"^contribute\\.json$\", views.contribute_json, name=\"contribute_json\"),\n     re_path(r\"^robots.txt$\", views.robots_txt, name=\"robots_txt\"),\n     re_path(\n         r\"^favicon.ico$\",\ndiff --git a/kuma/landing/views.py b/kuma/landing/views.py\n--- a/kuma/landing/views.py\n+++ b/kuma/landing/views.py\n@@ -1,37 +1,25 @@\n from django.conf import settings\n from django.http import HttpResponse\n from django.shortcuts import redirect, render\n-from django.views import static\n from django.views.decorators.cache import never_cache\n from django.views.generic import RedirectView\n \n from kuma.core.decorators import ensure_wiki_domain, shared_cache_control\n-from kuma.core.utils import is_wiki\n-from kuma.feeder.models import Bundle\n-from kuma.feeder.sections import SECTION_HACKS\n-from kuma.search.models import Filter\n \n from .utils import favicon_url\n \n \n-@shared_cache_control\n-def contribute_json(request):\n-    return static.serve(request, \"contribute.json\", document_root=settings.ROOT)\n-\n-\n-@shared_cache_control\n def home(request):\n     \"\"\"Home page.\"\"\"\n-    context = {}\n-    # Need for both wiki and react homepage\n-    context[\"updates\"] = list(Bundle.objects.recent_entries(SECTION_HACKS.updates)[:5])\n-\n-    # The default template name\n-    template_name = \"landing/react_homepage.html\"\n-    if is_wiki(request):\n-        template_name = \"landing/homepage.html\"\n-        context[\"default_filters\"] = Filter.objects.default_filters()\n-    return render(request, template_name, context)\n+    return HttpResponse(\n+        \"\"\"\n+    <html>\n+    End of an era. Kuma's no longer rendering a home page.<br>\n+    See project Yari.\n+    </html>\n+    \"\"\",\n+        content_type=\"text/html\",\n+    )\n \n \n @ensure_wiki_domain\n@@ -43,13 +31,6 @@\n         return redirect(\"home\")\n \n \n-@ensure_wiki_domain\n-@shared_cache_control\n-def promote_buttons(request):\n-    \"\"\"Bug 646192: MDN affiliate buttons\"\"\"\n-    return render(request, \"landing/promote_buttons.html\")\n-\n-\n ROBOTS_ALL_ALLOWED_TXT = \"\"\"\\\n User-agent: *\n Sitemap: https://wiki.developer.mozilla.org/sitemap.xml\n", "issue": "\ud83e\uddf9 Remove hompage related frontend code\nOnce https://github.com/mdn/yari/issues/2438 lands, we need to go into the Kuma forest and find all things related to the homepage frontend code, chop it down, and clear it out.\n", "before_files": [{"content": "from django.conf import settings\nfrom django.http import HttpResponse\nfrom django.shortcuts import redirect, render\nfrom django.views import static\nfrom django.views.decorators.cache import never_cache\nfrom django.views.generic import RedirectView\n\nfrom kuma.core.decorators import ensure_wiki_domain, shared_cache_control\nfrom kuma.core.utils import is_wiki\nfrom kuma.feeder.models import Bundle\nfrom kuma.feeder.sections import SECTION_HACKS\nfrom kuma.search.models import Filter\n\nfrom .utils import favicon_url\n\n\n@shared_cache_control\ndef contribute_json(request):\n    return static.serve(request, \"contribute.json\", document_root=settings.ROOT)\n\n\n@shared_cache_control\ndef home(request):\n    \"\"\"Home page.\"\"\"\n    context = {}\n    # Need for both wiki and react homepage\n    context[\"updates\"] = list(Bundle.objects.recent_entries(SECTION_HACKS.updates)[:5])\n\n    # The default template name\n    template_name = \"landing/react_homepage.html\"\n    if is_wiki(request):\n        template_name = \"landing/homepage.html\"\n        context[\"default_filters\"] = Filter.objects.default_filters()\n    return render(request, template_name, context)\n\n\n@ensure_wiki_domain\n@never_cache\ndef maintenance_mode(request):\n    if settings.MAINTENANCE_MODE:\n        return render(request, \"landing/maintenance-mode.html\")\n    else:\n        return redirect(\"home\")\n\n\n@ensure_wiki_domain\n@shared_cache_control\ndef promote_buttons(request):\n    \"\"\"Bug 646192: MDN affiliate buttons\"\"\"\n    return render(request, \"landing/promote_buttons.html\")\n\n\nROBOTS_ALL_ALLOWED_TXT = \"\"\"\\\nUser-agent: *\nSitemap: https://wiki.developer.mozilla.org/sitemap.xml\n\nDisallow:\n\"\"\"\n\nROBOTS_ALLOWED_TXT = \"\"\"\\\nUser-agent: *\nSitemap: https://developer.mozilla.org/sitemap.xml\n\nDisallow: /api/\nDisallow: /*docs/get-documents\nDisallow: /*docs/Experiment:*\nDisallow: /*$children\nDisallow: /*docs.json\nDisallow: /*/files/\nDisallow: /media\nDisallow: /*profiles*/edit\n\"\"\" + \"\\n\".join(\n    \"Disallow: /{locale}/search\".format(locale=locale)\n    for locale in settings.ENABLED_LOCALES\n)\n\nROBOTS_GO_AWAY_TXT = \"\"\"\\\nUser-Agent: *\nDisallow: /\n\"\"\"\n\n\n@shared_cache_control\ndef robots_txt(request):\n    \"\"\"Serve robots.txt that allows or forbids robots.\"\"\"\n    host = request.get_host()\n    if host in settings.ALLOW_ROBOTS_DOMAINS:\n        robots = \"\"\n    elif host in settings.ALLOW_ROBOTS_WEB_DOMAINS:\n        if host == settings.WIKI_HOST:\n            robots = ROBOTS_ALL_ALLOWED_TXT\n        else:\n            robots = ROBOTS_ALLOWED_TXT\n    else:\n        robots = ROBOTS_GO_AWAY_TXT\n    return HttpResponse(robots, content_type=\"text/plain\")\n\n\nclass FaviconRedirect(RedirectView):\n    \"\"\"Redirect to the favicon in the static img folder (bug 1402497)\"\"\"\n\n    def get_redirect_url(self, *args, **kwargs):\n        return favicon_url()\n", "path": "kuma/landing/views.py"}, {"content": "from django.urls import re_path\n\nfrom kuma.core.decorators import shared_cache_control\n\nfrom . import views\n\n\nMONTH = 60 * 60 * 24 * 30\n\n\nlang_urlpatterns = [\n    re_path(r\"^$\", views.home, name=\"home\"),\n    re_path(r\"^maintenance-mode/?$\", views.maintenance_mode, name=\"maintenance_mode\"),\n    re_path(r\"^promote/?$\", views.promote_buttons, name=\"promote\"),\n    re_path(r\"^promote/buttons/?$\", views.promote_buttons, name=\"promote_buttons\"),\n]\n\nurlpatterns = [\n    re_path(r\"^contribute\\.json$\", views.contribute_json, name=\"contribute_json\"),\n    re_path(r\"^robots.txt$\", views.robots_txt, name=\"robots_txt\"),\n    re_path(\n        r\"^favicon.ico$\",\n        shared_cache_control(views.FaviconRedirect.as_view(), s_maxage=MONTH),\n        name=\"favicon_ico\",\n    ),\n]\n", "path": "kuma/landing/urls.py"}], "after_files": [{"content": "from django.conf import settings\nfrom django.http import HttpResponse\nfrom django.shortcuts import redirect, render\nfrom django.views.decorators.cache import never_cache\nfrom django.views.generic import RedirectView\n\nfrom kuma.core.decorators import ensure_wiki_domain, shared_cache_control\n\nfrom .utils import favicon_url\n\n\ndef home(request):\n    \"\"\"Home page.\"\"\"\n    return HttpResponse(\n        \"\"\"\n    <html>\n    End of an era. Kuma's no longer rendering a home page.<br>\n    See project Yari.\n    </html>\n    \"\"\",\n        content_type=\"text/html\",\n    )\n\n\n@ensure_wiki_domain\n@never_cache\ndef maintenance_mode(request):\n    if settings.MAINTENANCE_MODE:\n        return render(request, \"landing/maintenance-mode.html\")\n    else:\n        return redirect(\"home\")\n\n\nROBOTS_ALL_ALLOWED_TXT = \"\"\"\\\nUser-agent: *\nSitemap: https://wiki.developer.mozilla.org/sitemap.xml\n\nDisallow:\n\"\"\"\n\nROBOTS_ALLOWED_TXT = \"\"\"\\\nUser-agent: *\nSitemap: https://developer.mozilla.org/sitemap.xml\n\nDisallow: /api/\nDisallow: /*docs/get-documents\nDisallow: /*docs/Experiment:*\nDisallow: /*$children\nDisallow: /*docs.json\nDisallow: /*/files/\nDisallow: /media\nDisallow: /*profiles*/edit\n\"\"\" + \"\\n\".join(\n    \"Disallow: /{locale}/search\".format(locale=locale)\n    for locale in settings.ENABLED_LOCALES\n)\n\nROBOTS_GO_AWAY_TXT = \"\"\"\\\nUser-Agent: *\nDisallow: /\n\"\"\"\n\n\n@shared_cache_control\ndef robots_txt(request):\n    \"\"\"Serve robots.txt that allows or forbids robots.\"\"\"\n    host = request.get_host()\n    if host in settings.ALLOW_ROBOTS_DOMAINS:\n        robots = \"\"\n    elif host in settings.ALLOW_ROBOTS_WEB_DOMAINS:\n        if host == settings.WIKI_HOST:\n            robots = ROBOTS_ALL_ALLOWED_TXT\n        else:\n            robots = ROBOTS_ALLOWED_TXT\n    else:\n        robots = ROBOTS_GO_AWAY_TXT\n    return HttpResponse(robots, content_type=\"text/plain\")\n\n\nclass FaviconRedirect(RedirectView):\n    \"\"\"Redirect to the favicon in the static img folder (bug 1402497)\"\"\"\n\n    def get_redirect_url(self, *args, **kwargs):\n        return favicon_url()\n", "path": "kuma/landing/views.py"}, {"content": "from django.urls import re_path\n\nfrom kuma.core.decorators import shared_cache_control\n\nfrom . import views\n\n\nMONTH = 60 * 60 * 24 * 30\n\n\nlang_urlpatterns = [\n    re_path(r\"^$\", views.home, name=\"home\"),\n    re_path(r\"^maintenance-mode/?$\", views.maintenance_mode, name=\"maintenance_mode\"),\n]\n\nurlpatterns = [\n    re_path(r\"^robots.txt$\", views.robots_txt, name=\"robots_txt\"),\n    re_path(\n        r\"^favicon.ico$\",\n        shared_cache_control(views.FaviconRedirect.as_view(), s_maxage=MONTH),\n        name=\"favicon_ico\",\n    ),\n]\n", "path": "kuma/landing/urls.py"}]}