From cb5b3be84446626f8f9c6ed5d9f7b586a7c29079 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?= <toke@toke.dk>
Date: Fri, 31 Aug 2018 21:38:54 +0200
Subject: [PATCH] Add support for setting the musicbrainz hostname
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Useful for using a local musicbrainz mirror.

Fixes #471.

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
---
 api/config/settings/common.py           | 5 +++++
 api/funkwhale_api/musicbrainz/client.py | 1 +
 changes/changelog.d/471.enhancement     | 1 +
 3 files changed, 7 insertions(+)
 create mode 100644 changes/changelog.d/471.enhancement

diff --git a/api/config/settings/common.py b/api/config/settings/common.py
index 6a4430d8..d952e0d2 100644
--- a/api/config/settings/common.py
+++ b/api/config/settings/common.py
@@ -487,6 +487,11 @@ PROTECT_FILES_PATH = env("PROTECT_FILES_PATH", default="/_protected")
 # musicbrainz results. (value is in seconds)
 MUSICBRAINZ_CACHE_DURATION = env.int("MUSICBRAINZ_CACHE_DURATION", default=300)
 
+# Use this setting to change the musicbrainz hostname, for instance to
+# use a mirror. The hostname can also contain a port number (so, e.g.,
+# "localhost:5000" is a valid name to set).
+MUSICBRAINZ_HOSTNAME = env("MUSICBRAINZ_HOSTNAME", default="musicbrainz.org")
+
 # Custom Admin URL, use {% url 'admin:index' %}
 ADMIN_URL = env("DJANGO_ADMIN_URL", default="^api/admin/")
 CSRF_USE_SESSIONS = True
diff --git a/api/funkwhale_api/musicbrainz/client.py b/api/funkwhale_api/musicbrainz/client.py
index deae0672..1355da94 100644
--- a/api/funkwhale_api/musicbrainz/client.py
+++ b/api/funkwhale_api/musicbrainz/client.py
@@ -6,6 +6,7 @@ from funkwhale_api import __version__
 
 _api = musicbrainzngs
 _api.set_useragent("funkwhale", str(__version__), settings.FUNKWHALE_URL)
+_api.set_hostname(settings.MUSICBRAINZ_HOSTNAME)
 
 
 store = memoize.djangocache.Cache("default")
diff --git a/changes/changelog.d/471.enhancement b/changes/changelog.d/471.enhancement
new file mode 100644
index 00000000..f297b4ce
--- /dev/null
+++ b/changes/changelog.d/471.enhancement
@@ -0,0 +1 @@
+Add configuration option to set Musicbrainz hostname
-- 
GitLab