Skip to content
Snippets Groups Projects
Verified Commit 6f79768d authored by Eliot Berriot's avatar Eliot Berriot
Browse files

See #872: expose banner URL in nodeinfo

parent 9f3c45a7
No related branches found
No related tags found
1 merge request!893See #872: banner setting
Pipeline #5567 passed with stages
in 2 minutes and 47 seconds
......@@ -3,6 +3,7 @@ import memoize.djangocache
import funkwhale_api
from funkwhale_api.common import preferences
from funkwhale_api.federation import actors, models as federation_models
from funkwhale_api.federation import utils as federation_utils
from funkwhale_api.moderation import models as moderation_models
from funkwhale_api.music import utils as music_utils
......@@ -17,6 +18,7 @@ def get():
share_stats = all_preferences.get("instance__nodeinfo_stats_enabled")
allow_list_enabled = all_preferences.get("moderation__allow_list_enabled")
allow_list_public = all_preferences.get("moderation__allow_list_public")
banner = all_preferences.get("instance__banner")
unauthenticated_report_types = all_preferences.get(
"moderation__unauthenticated_report_types"
)
......@@ -42,6 +44,7 @@ def get():
"longDescription": all_preferences.get("instance__long_description"),
"terms": all_preferences.get("instance__terms"),
"nodeName": all_preferences.get("instance__name"),
"banner": federation_utils.full_url(banner.url) if banner else None,
"library": {
"federationEnabled": all_preferences.get("federation__enabled"),
"federationNeedsApproval": all_preferences.get(
......@@ -59,6 +62,7 @@ def get():
],
},
}
if share_stats:
getter = memo(lambda: stats.get(), max_age=600)
statistics = getter()
......
......@@ -3,10 +3,12 @@ import pytest
import funkwhale_api
from funkwhale_api.instance import nodeinfo
from funkwhale_api.federation import actors
from funkwhale_api.federation import utils as federation_utils
from funkwhale_api.music import utils as music_utils
def test_nodeinfo_dump(preferences, mocker):
def test_nodeinfo_dump(preferences, mocker, avatar):
preferences["instance__banner"] = avatar
preferences["instance__nodeinfo_stats_enabled"] = True
preferences["moderation__unauthenticated_report_types"] = [
"takedown_request",
......@@ -39,6 +41,7 @@ def test_nodeinfo_dump(preferences, mocker):
"longDescription": preferences["instance__long_description"],
"nodeName": preferences["instance__name"],
"terms": preferences["instance__terms"],
"banner": federation_utils.full_url(preferences["instance__banner"].url),
"library": {
"federationEnabled": preferences["federation__enabled"],
"federationNeedsApproval": preferences[
......@@ -107,6 +110,7 @@ def test_nodeinfo_dump_stats_disabled(preferences, mocker):
"longDescription": preferences["instance__long_description"],
"nodeName": preferences["instance__name"],
"terms": preferences["instance__terms"],
"banner": None,
"library": {
"federationEnabled": preferences["federation__enabled"],
"federationNeedsApproval": preferences[
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment