kopia lustrzana https://dev.funkwhale.audio/funkwhale/funkwhale
101 wiersze
3.1 KiB
Python
101 wiersze
3.1 KiB
Python
from django.forms import widgets
|
|
from dynamic_preferences import types
|
|
from dynamic_preferences.registries import global_preferences_registry
|
|
|
|
raven = types.Section("raven")
|
|
instance = types.Section("instance")
|
|
|
|
|
|
@global_preferences_registry.register
|
|
class InstanceName(types.StringPreference):
|
|
show_in_api = True
|
|
section = instance
|
|
name = "name"
|
|
default = ""
|
|
verbose_name = "Public name"
|
|
help_text = "The public name of your instance, displayed in the about page."
|
|
field_kwargs = {"required": False}
|
|
|
|
|
|
@global_preferences_registry.register
|
|
class InstanceShortDescription(types.StringPreference):
|
|
show_in_api = True
|
|
section = instance
|
|
name = "short_description"
|
|
default = ""
|
|
verbose_name = "Short description"
|
|
help_text = "Instance succinct description, displayed in the about page."
|
|
field_kwargs = {"required": False}
|
|
|
|
|
|
@global_preferences_registry.register
|
|
class InstanceLongDescription(types.StringPreference):
|
|
show_in_api = True
|
|
section = instance
|
|
name = "long_description"
|
|
verbose_name = "Long description"
|
|
default = ""
|
|
help_text = (
|
|
"Instance long description, displayed in the about page (markdown allowed)."
|
|
)
|
|
widget = widgets.Textarea
|
|
field_kwargs = {"required": False}
|
|
|
|
|
|
@global_preferences_registry.register
|
|
class RavenDSN(types.StringPreference):
|
|
show_in_api = True
|
|
section = raven
|
|
name = "front_dsn"
|
|
default = "https://9e0562d46b09442bb8f6844e50cbca2b@sentry.eliotberriot.com/4"
|
|
verbose_name = "Raven DSN key (front-end)"
|
|
|
|
help_text = (
|
|
"A Raven DSN key used to report front-ent errors to "
|
|
"a sentry instance. Keeping the default one will report errors to "
|
|
"Funkwhale developers."
|
|
)
|
|
field_kwargs = {"required": False}
|
|
|
|
|
|
@global_preferences_registry.register
|
|
class InstanceNodeinfoEnabled(types.BooleanPreference):
|
|
show_in_api = False
|
|
section = instance
|
|
name = "nodeinfo_enabled"
|
|
default = True
|
|
verbose_name = "Enable nodeinfo endpoint"
|
|
help_text = (
|
|
"This endpoint is needed for your about page to work. "
|
|
"It's also helpful for the various monitoring "
|
|
"tools that map and analyzize the fediverse, "
|
|
"but you can disable it completely if needed."
|
|
)
|
|
|
|
|
|
@global_preferences_registry.register
|
|
class InstanceNodeinfoPrivate(types.BooleanPreference):
|
|
show_in_api = False
|
|
section = instance
|
|
name = "nodeinfo_private"
|
|
default = False
|
|
verbose_name = "Private mode in nodeinfo"
|
|
help_text = (
|
|
"Indicate in the nodeinfo endpoint that you do not want your instance "
|
|
"to be tracked by third-party services. "
|
|
"There is no guarantee these tools will honor this setting though."
|
|
)
|
|
|
|
|
|
@global_preferences_registry.register
|
|
class InstanceNodeinfoStatsEnabled(types.BooleanPreference):
|
|
show_in_api = False
|
|
section = instance
|
|
name = "nodeinfo_stats_enabled"
|
|
default = True
|
|
verbose_name = "Enable usage and library stats in nodeinfo endpoint"
|
|
help_text = (
|
|
"Disable this if you don't want to share usage and library statistics "
|
|
"in the nodeinfo endpoint but don't want to disable it completely."
|
|
)
|