We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Configurable logo url and favicon
It would be nice to have a configurable logo in the config file like you did for the name of pootle site (`POOTLE_TITLE`) instead of creating a custom template or editing the css of the default one.


--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `pootle/apps/pootle_misc/context_processors.py`
Content:
```
1 # -*- coding: utf-8 -*-
2 #
3 # Copyright (C) Pootle contributors.
4 #
5 # This file is a part of the Pootle project. It is distributed under the GPL3
6 # or later license. See the LICENSE file for a copy of the license and the
7 # AUTHORS file for copyright and authorship information.
8 
9 from django.conf import settings
10 
11 from pootle.core.markup import get_markup_filter_name
12 from pootle_project.models import Project
13 from staticpages.models import LegalPage
14 
15 
16 def _agreement_context(request):
17     """Returns whether the agreement box should be displayed or not."""
18     request_path = request.META['PATH_INFO']
19     nocheck = filter(lambda x: request_path.startswith(x),
20                      settings.POOTLE_LEGALPAGE_NOCHECK_PREFIXES)
21 
22     if (request.user.is_authenticated and not nocheck and
23         LegalPage.objects.has_pending_agreement(request.user)):
24         return True
25 
26     return False
27 
28 
29 def _get_social_auth_providers(request):
30     if 'allauth.socialaccount' not in settings.INSTALLED_APPS:
31         return []
32 
33     from allauth.socialaccount import providers
34     return [{'name': provider.name, 'url': provider.get_login_url(request)}
35             for provider in providers.registry.get_list()]
36 
37 
38 def pootle_context(request):
39     """Exposes settings to templates."""
40     # FIXME: maybe we should expose relevant settings only?
41 
42     return {
43         'settings': {
44             'POOTLE_CUSTOM_LOGO': getattr(settings, "POOTLE_CUSTOM_LOGO", ""),
45             'POOTLE_TITLE': settings.POOTLE_TITLE,
46             'POOTLE_INSTANCE_ID': settings.POOTLE_INSTANCE_ID,
47             'POOTLE_CONTACT_ENABLED': (settings.POOTLE_CONTACT_ENABLED and
48                                        settings.POOTLE_CONTACT_EMAIL),
49             'POOTLE_MARKUP_FILTER': get_markup_filter_name(),
50             'POOTLE_SIGNUP_ENABLED': settings.POOTLE_SIGNUP_ENABLED,
51             'SCRIPT_NAME': settings.SCRIPT_NAME,
52             'POOTLE_CACHE_TIMEOUT': settings.POOTLE_CACHE_TIMEOUT,
53             'DEBUG': settings.DEBUG,
54         },
55         'custom': settings.POOTLE_CUSTOM_TEMPLATE_CONTEXT,
56         'ALL_PROJECTS': Project.objects.cached_dict(request.user),
57         'SOCIAL_AUTH_PROVIDERS': _get_social_auth_providers(request),
58         'display_agreement': _agreement_context(request),
59     }
60
```
--- 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/pootle/apps/pootle_misc/context_processors.py b/pootle/apps/pootle_misc/context_processors.py
--- a/pootle/apps/pootle_misc/context_processors.py
+++ b/pootle/apps/pootle_misc/context_processors.py
@@ -43,6 +43,7 @@
         'settings': {
             'POOTLE_CUSTOM_LOGO': getattr(settings, "POOTLE_CUSTOM_LOGO", ""),
             'POOTLE_TITLE': settings.POOTLE_TITLE,
+            'POOTLE_FAVICONS_PATH': settings.POOTLE_FAVICONS_PATH,
             'POOTLE_INSTANCE_ID': settings.POOTLE_INSTANCE_ID,
             'POOTLE_CONTACT_ENABLED': (settings.POOTLE_CONTACT_ENABLED and
                                        settings.POOTLE_CONTACT_EMAIL),

{"golden_diff": "diff --git a/pootle/apps/pootle_misc/context_processors.py b/pootle/apps/pootle_misc/context_processors.py\n--- a/pootle/apps/pootle_misc/context_processors.py\n+++ b/pootle/apps/pootle_misc/context_processors.py\n@@ -43,6 +43,7 @@\n         'settings': {\n             'POOTLE_CUSTOM_LOGO': getattr(settings, \"POOTLE_CUSTOM_LOGO\", \"\"),\n             'POOTLE_TITLE': settings.POOTLE_TITLE,\n+            'POOTLE_FAVICONS_PATH': settings.POOTLE_FAVICONS_PATH,\n             'POOTLE_INSTANCE_ID': settings.POOTLE_INSTANCE_ID,\n             'POOTLE_CONTACT_ENABLED': (settings.POOTLE_CONTACT_ENABLED and\n                                        settings.POOTLE_CONTACT_EMAIL),\n", "issue": "Configurable logo url and favicon\nIt would be nice to have a configurable logo in the config file like you did for the name of pootle site (`POOTLE_TITLE`) instead of creating a custom template or editing the css of the default one.\n\n", "before_files": [{"content": "# -*- coding: utf-8 -*-\n#\n# Copyright (C) Pootle contributors.\n#\n# This file is a part of the Pootle project. It is distributed under the GPL3\n# or later license. See the LICENSE file for a copy of the license and the\n# AUTHORS file for copyright and authorship information.\n\nfrom django.conf import settings\n\nfrom pootle.core.markup import get_markup_filter_name\nfrom pootle_project.models import Project\nfrom staticpages.models import LegalPage\n\n\ndef _agreement_context(request):\n    \"\"\"Returns whether the agreement box should be displayed or not.\"\"\"\n    request_path = request.META['PATH_INFO']\n    nocheck = filter(lambda x: request_path.startswith(x),\n                     settings.POOTLE_LEGALPAGE_NOCHECK_PREFIXES)\n\n    if (request.user.is_authenticated and not nocheck and\n        LegalPage.objects.has_pending_agreement(request.user)):\n        return True\n\n    return False\n\n\ndef _get_social_auth_providers(request):\n    if 'allauth.socialaccount' not in settings.INSTALLED_APPS:\n        return []\n\n    from allauth.socialaccount import providers\n    return [{'name': provider.name, 'url': provider.get_login_url(request)}\n            for provider in providers.registry.get_list()]\n\n\ndef pootle_context(request):\n    \"\"\"Exposes settings to templates.\"\"\"\n    # FIXME: maybe we should expose relevant settings only?\n\n    return {\n        'settings': {\n            'POOTLE_CUSTOM_LOGO': getattr(settings, \"POOTLE_CUSTOM_LOGO\", \"\"),\n            'POOTLE_TITLE': settings.POOTLE_TITLE,\n            'POOTLE_INSTANCE_ID': settings.POOTLE_INSTANCE_ID,\n            'POOTLE_CONTACT_ENABLED': (settings.POOTLE_CONTACT_ENABLED and\n                                       settings.POOTLE_CONTACT_EMAIL),\n            'POOTLE_MARKUP_FILTER': get_markup_filter_name(),\n            'POOTLE_SIGNUP_ENABLED': settings.POOTLE_SIGNUP_ENABLED,\n            'SCRIPT_NAME': settings.SCRIPT_NAME,\n            'POOTLE_CACHE_TIMEOUT': settings.POOTLE_CACHE_TIMEOUT,\n            'DEBUG': settings.DEBUG,\n        },\n        'custom': settings.POOTLE_CUSTOM_TEMPLATE_CONTEXT,\n        'ALL_PROJECTS': Project.objects.cached_dict(request.user),\n        'SOCIAL_AUTH_PROVIDERS': _get_social_auth_providers(request),\n        'display_agreement': _agreement_context(request),\n    }\n", "path": "pootle/apps/pootle_misc/context_processors.py"}], "after_files": [{"content": "# -*- coding: utf-8 -*-\n#\n# Copyright (C) Pootle contributors.\n#\n# This file is a part of the Pootle project. It is distributed under the GPL3\n# or later license. See the LICENSE file for a copy of the license and the\n# AUTHORS file for copyright and authorship information.\n\nfrom django.conf import settings\n\nfrom pootle.core.markup import get_markup_filter_name\nfrom pootle_project.models import Project\nfrom staticpages.models import LegalPage\n\n\ndef _agreement_context(request):\n    \"\"\"Returns whether the agreement box should be displayed or not.\"\"\"\n    request_path = request.META['PATH_INFO']\n    nocheck = filter(lambda x: request_path.startswith(x),\n                     settings.POOTLE_LEGALPAGE_NOCHECK_PREFIXES)\n\n    if (request.user.is_authenticated and not nocheck and\n        LegalPage.objects.has_pending_agreement(request.user)):\n        return True\n\n    return False\n\n\ndef _get_social_auth_providers(request):\n    if 'allauth.socialaccount' not in settings.INSTALLED_APPS:\n        return []\n\n    from allauth.socialaccount import providers\n    return [{'name': provider.name, 'url': provider.get_login_url(request)}\n            for provider in providers.registry.get_list()]\n\n\ndef pootle_context(request):\n    \"\"\"Exposes settings to templates.\"\"\"\n    # FIXME: maybe we should expose relevant settings only?\n\n    return {\n        'settings': {\n            'POOTLE_CUSTOM_LOGO': getattr(settings, \"POOTLE_CUSTOM_LOGO\", \"\"),\n            'POOTLE_TITLE': settings.POOTLE_TITLE,\n            'POOTLE_FAVICONS_PATH': settings.POOTLE_FAVICONS_PATH,\n            'POOTLE_INSTANCE_ID': settings.POOTLE_INSTANCE_ID,\n            'POOTLE_CONTACT_ENABLED': (settings.POOTLE_CONTACT_ENABLED and\n                                       settings.POOTLE_CONTACT_EMAIL),\n            'POOTLE_MARKUP_FILTER': get_markup_filter_name(),\n            'POOTLE_SIGNUP_ENABLED': settings.POOTLE_SIGNUP_ENABLED,\n            'SCRIPT_NAME': settings.SCRIPT_NAME,\n            'POOTLE_CACHE_TIMEOUT': settings.POOTLE_CACHE_TIMEOUT,\n            'DEBUG': settings.DEBUG,\n        },\n        'custom': settings.POOTLE_CUSTOM_TEMPLATE_CONTEXT,\n        'ALL_PROJECTS': Project.objects.cached_dict(request.user),\n        'SOCIAL_AUTH_PROVIDERS': _get_social_auth_providers(request),\n        'display_agreement': _agreement_context(request),\n    }\n", "path": "pootle/apps/pootle_misc/context_processors.py"}]}