mirror of
https://github.com/YunoHost-Apps/weblate_ynh.git
synced 2024-10-01 13:35:04 +02:00
Merge pull request #102 from Thovi98/packaging-v1-fix-weblate
Packaging v1 fix weblate
This commit is contained in:
commit
4398601d0a
7 changed files with 50 additions and 119 deletions
|
@ -18,7 +18,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in
|
||||||
|
|
||||||
Weblate is a libre web-based translation tool with tight version control integration. It provides two user interfaces, propagation of translations across components, quality checks and automatic linking to source files.
|
Weblate is a libre web-based translation tool with tight version control integration. It provides two user interfaces, propagation of translations across components, quality checks and automatic linking to source files.
|
||||||
|
|
||||||
**Shipped version:** 4.18.2~ynh1
|
**Shipped version:** 5.3.1~ynh1
|
||||||
|
|
||||||
**Demo:** https://hosted.weblate.org/
|
**Demo:** https://hosted.weblate.org/
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@ Si vous n’avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) po
|
||||||
|
|
||||||
Weblate est un outil de traduction libre avec une intégration étroite du contrôle de version. Il fournit deux interfaces utilisateur, la propagation des traductions entre les composants, les contrôles de qualité et la liaison automatique aux fichiers source.
|
Weblate est un outil de traduction libre avec une intégration étroite du contrôle de version. Il fournit deux interfaces utilisateur, la propagation des traductions entre les composants, les contrôles de qualité et la liaison automatique aux fichiers source.
|
||||||
|
|
||||||
**Version incluse :** 4.18.2~ynh1
|
**Version incluse :** 5.3.1~ynh1
|
||||||
|
|
||||||
**Démo :** https://hosted.weblate.org/
|
**Démo :** https://hosted.weblate.org/
|
||||||
|
|
||||||
|
|
|
@ -16,16 +16,10 @@
|
||||||
setup_private=1
|
setup_private=1
|
||||||
setup_public=1
|
setup_public=1
|
||||||
upgrade=1
|
upgrade=1
|
||||||
# 4.9~ynh1
|
backup_restore=1
|
||||||
upgrade=1 from_commit=7fec5a47a80e00458a31f1270c4ace822961e7bf
|
|
||||||
backup_restore=1
|
|
||||||
multi_instance=1
|
multi_instance=1
|
||||||
port_already_use=0
|
port_already_use=0
|
||||||
change_url=1
|
change_url=1
|
||||||
;;; Options
|
;;; Options
|
||||||
Email=
|
Email=
|
||||||
Notification=all
|
Notification=all
|
||||||
;;; Upgrade options
|
|
||||||
; commit=3f8363cdc588e609a775cb8b78b9d080f96405d9
|
|
||||||
name=Upgrade from 4.6.1
|
|
||||||
manifest_arg=domain=DOMAIN&path=PATH&admin=USER&is_public=1&github_account=fake&github_token=fake
|
|
||||||
|
|
151
conf/settings.py
151
conf/settings.py
|
@ -15,6 +15,10 @@
|
||||||
#
|
#
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
# Copyright © Michal Čihař <michal@weblate.org>
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import platform
|
import platform
|
||||||
from logging.handlers import SysLogHandler
|
from logging.handlers import SysLogHandler
|
||||||
|
@ -70,7 +74,8 @@ DATABASES = {
|
||||||
# "connect_timeout": 28800,
|
# "connect_timeout": 28800,
|
||||||
},
|
},
|
||||||
# Persistent connections
|
# Persistent connections
|
||||||
"CONN_MAX_AGE": 0,
|
"CONN_MAX_AGE": None,
|
||||||
|
"CONN_HEALTH_CHECKS": True,
|
||||||
# Disable server-side cursors, might be needed with pgbouncer
|
# Disable server-side cursors, might be needed with pgbouncer
|
||||||
"DISABLE_SERVER_SIDE_CURSORS": False,
|
"DISABLE_SERVER_SIDE_CURSORS": False,
|
||||||
}
|
}
|
||||||
|
@ -78,7 +83,7 @@ DATABASES = {
|
||||||
|
|
||||||
# Data directory, you can use following for the development purposes:
|
# Data directory, you can use following for the development purposes:
|
||||||
# os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "data")
|
# os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "data")
|
||||||
DATA_DIR = os.path.join("__FINALPATH__", "data")
|
DATA_DIR = "__FINALPATH__/data"
|
||||||
CACHE_DIR = f"{DATA_DIR}/cache"
|
CACHE_DIR = f"{DATA_DIR}/cache"
|
||||||
|
|
||||||
# Local time zone for this installation. Choices can be found here:
|
# Local time zone for this installation. Choices can be found here:
|
||||||
|
@ -95,11 +100,12 @@ LANGUAGES = (
|
||||||
("ar", "العربية"),
|
("ar", "العربية"),
|
||||||
("az", "Azərbaycan"),
|
("az", "Azərbaycan"),
|
||||||
("be", "Беларуская"),
|
("be", "Беларуская"),
|
||||||
("be@latin", "Biełaruskaja"),
|
("be-latn", "Biełaruskaja"),
|
||||||
("bg", "Български"),
|
("bg", "Български"),
|
||||||
("br", "Brezhoneg"),
|
("br", "Brezhoneg"),
|
||||||
("ca", "Català"),
|
("ca", "Català"),
|
||||||
("cs", "Čeština"),
|
("cs", "Čeština"),
|
||||||
|
("cy", "Cymraeg"),
|
||||||
("da", "Dansk"),
|
("da", "Dansk"),
|
||||||
("de", "Deutsch"),
|
("de", "Deutsch"),
|
||||||
("en", "English"),
|
("en", "English"),
|
||||||
|
@ -145,10 +151,6 @@ SITE_ID = 1
|
||||||
# to load the internationalization machinery.
|
# to load the internationalization machinery.
|
||||||
USE_I18N = True
|
USE_I18N = True
|
||||||
|
|
||||||
# If you set this to False, Django will not format dates, numbers and
|
|
||||||
# calendars according to the current locale.
|
|
||||||
USE_L10N = True
|
|
||||||
|
|
||||||
# If you set this to False, Django will not use timezone-aware datetimes.
|
# If you set this to False, Django will not use timezone-aware datetimes.
|
||||||
USE_TZ = True
|
USE_TZ = True
|
||||||
|
|
||||||
|
@ -219,6 +221,9 @@ GITHUB_CREDENTIALS = {
|
||||||
"token": "__GITHUB_TOKEN__",
|
"token": "__GITHUB_TOKEN__",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
# Azure DevOps username and token for sending pull requests.
|
||||||
|
# Please see the documentation for more details.
|
||||||
|
AZURE_DEVOPS_CREDENTIALS = {}
|
||||||
|
|
||||||
# GitLab username and token for sending merge requests.
|
# GitLab username and token for sending merge requests.
|
||||||
# Please see the documentation for more details.
|
# Please see the documentation for more details.
|
||||||
|
@ -238,6 +243,7 @@ AUTHENTICATION_BACKENDS = (
|
||||||
"social_core.backends.email.EmailAuth",
|
"social_core.backends.email.EmailAuth",
|
||||||
# "social_core.backends.google.GoogleOAuth2",
|
# "social_core.backends.google.GoogleOAuth2",
|
||||||
# "social_core.backends.github.GithubOAuth2",
|
# "social_core.backends.github.GithubOAuth2",
|
||||||
|
# "social_core.backends.github_enterprise.GithubEnterpriseOAuth2",
|
||||||
# "social_core.backends.bitbucket.BitbucketOAuth2",
|
# "social_core.backends.bitbucket.BitbucketOAuth2",
|
||||||
# "social_core.backends.suse.OpenSUSEOpenId",
|
# "social_core.backends.suse.OpenSUSEOpenId",
|
||||||
# "social_core.backends.ubuntu.UbuntuOpenId",
|
# "social_core.backends.ubuntu.UbuntuOpenId",
|
||||||
|
@ -262,6 +268,12 @@ SOCIAL_AUTH_GITHUB_TEAM_KEY = ""
|
||||||
SOCIAL_AUTH_GITHUB_TEAM_SECRET = ""
|
SOCIAL_AUTH_GITHUB_TEAM_SECRET = ""
|
||||||
SOCIAL_AUTH_GITHUB_TEAM_ID = ""
|
SOCIAL_AUTH_GITHUB_TEAM_ID = ""
|
||||||
|
|
||||||
|
SOCIAL_AUTH_GITHUB_ENTERPRISE_KEY = ""
|
||||||
|
SOCIAL_AUTH_GITHUB_ENTERPRISE_SECRET = ""
|
||||||
|
SOCIAL_AUTH_GITHUB_ENTERPRISE_URL = ""
|
||||||
|
SOCIAL_AUTH_GITHUB_ENTERPRISE_API_URL = ""
|
||||||
|
SOCIAL_AUTH_GITHUB_ENTERPRISE_SCOPE = ""
|
||||||
|
|
||||||
SOCIAL_AUTH_BITBUCKET_OAUTH2_KEY = ""
|
SOCIAL_AUTH_BITBUCKET_OAUTH2_KEY = ""
|
||||||
SOCIAL_AUTH_BITBUCKET_OAUTH2_SECRET = ""
|
SOCIAL_AUTH_BITBUCKET_OAUTH2_SECRET = ""
|
||||||
SOCIAL_AUTH_BITBUCKET_OAUTH2_VERIFIED_EMAILS_ONLY = True
|
SOCIAL_AUTH_BITBUCKET_OAUTH2_VERIFIED_EMAILS_ONLY = True
|
||||||
|
@ -298,6 +310,7 @@ SOCIAL_AUTH_PIPELINE = (
|
||||||
"weblate.accounts.pipeline.user_full_name",
|
"weblate.accounts.pipeline.user_full_name",
|
||||||
"weblate.accounts.pipeline.store_email",
|
"weblate.accounts.pipeline.store_email",
|
||||||
"weblate.accounts.pipeline.notify_connect",
|
"weblate.accounts.pipeline.notify_connect",
|
||||||
|
"weblate.accounts.pipeline.handle_invite",
|
||||||
"weblate.accounts.pipeline.password_reset",
|
"weblate.accounts.pipeline.password_reset",
|
||||||
)
|
)
|
||||||
SOCIAL_AUTH_DISCONNECT_PIPELINE = (
|
SOCIAL_AUTH_DISCONNECT_PIPELINE = (
|
||||||
|
@ -329,7 +342,7 @@ SOCIAL_AUTH_SLUGIFY_FUNCTION = "weblate.accounts.pipeline.slugify_username"
|
||||||
# Password validation configuration
|
# Password validation configuration
|
||||||
AUTH_PASSWORD_VALIDATORS = [
|
AUTH_PASSWORD_VALIDATORS = [
|
||||||
{
|
{
|
||||||
"NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator" # noqa: E501, pylint: disable=line-too-long
|
"NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"NAME": "django.contrib.auth.password_validation.MinimumLengthValidator",
|
"NAME": "django.contrib.auth.password_validation.MinimumLengthValidator",
|
||||||
|
@ -443,8 +456,11 @@ HAVE_SYSLOG = False
|
||||||
if platform.system() != "Windows":
|
if platform.system() != "Windows":
|
||||||
try:
|
try:
|
||||||
handler = SysLogHandler(address="/dev/log", facility=SysLogHandler.LOG_LOCAL2)
|
handler = SysLogHandler(address="/dev/log", facility=SysLogHandler.LOG_LOCAL2)
|
||||||
|
# Since Python 3.7 connect failures are silently discarded, so
|
||||||
|
# the exception is almost never raised here. Instead we look whether the socket
|
||||||
|
# to syslog is open after init.
|
||||||
|
HAVE_SYSLOG = handler.socket.fileno() != -1
|
||||||
handler.close()
|
handler.close()
|
||||||
HAVE_SYSLOG = True
|
|
||||||
except OSError:
|
except OSError:
|
||||||
HAVE_SYSLOG = False
|
HAVE_SYSLOG = False
|
||||||
|
|
||||||
|
@ -519,6 +535,7 @@ LOGGING = {
|
||||||
# "handlers": [DEFAULT_LOG],
|
# "handlers": [DEFAULT_LOG],
|
||||||
# "level": "DEBUG",
|
# "level": "DEBUG",
|
||||||
# },
|
# },
|
||||||
|
"redis_lock": {"handlers": [DEFAULT_LOG], "level": DEFAULT_LOGLEVEL},
|
||||||
"weblate": {"handlers": [DEFAULT_LOG], "level": DEFAULT_LOGLEVEL},
|
"weblate": {"handlers": [DEFAULT_LOG], "level": DEFAULT_LOGLEVEL},
|
||||||
# Logging VCS operations
|
# Logging VCS operations
|
||||||
"weblate.vcs": {"handlers": [DEFAULT_LOG], "level": DEFAULT_LOGLEVEL},
|
"weblate.vcs": {"handlers": [DEFAULT_LOG], "level": DEFAULT_LOGLEVEL},
|
||||||
|
@ -535,89 +552,6 @@ LOGGING = {
|
||||||
if not HAVE_SYSLOG:
|
if not HAVE_SYSLOG:
|
||||||
del LOGGING["handlers"]["syslog"]
|
del LOGGING["handlers"]["syslog"]
|
||||||
|
|
||||||
# List of machine translations
|
|
||||||
MT_SERVICES = (
|
|
||||||
# "weblate.machinery.apertium.ApertiumAPYTranslation",
|
|
||||||
# "weblate.machinery.baidu.BaiduTranslation",
|
|
||||||
# "weblate.machinery.deepl.DeepLTranslation",
|
|
||||||
# "weblate.machinery.glosbe.GlosbeTranslation",
|
|
||||||
# "weblate.machinery.google.GoogleTranslation",
|
|
||||||
# "weblate.machinery.googlev3.GoogleV3Translation",
|
|
||||||
# "weblate.machinery.libretranslate.LibreTranslateTranslation",
|
|
||||||
# "weblate.machinery.microsoft.MicrosoftCognitiveTranslation",
|
|
||||||
# "weblate.machinery.microsoftterminology.MicrosoftTerminologyService",
|
|
||||||
# "weblate.machinery.modernmt.ModernMTTranslation",
|
|
||||||
# "weblate.machinery.mymemory.MyMemoryTranslation",
|
|
||||||
# "weblate.machinery.netease.NeteaseSightTranslation",
|
|
||||||
# "weblate.machinery.tmserver.AmagamaTranslation",
|
|
||||||
# "weblate.machinery.tmserver.TMServerTranslation",
|
|
||||||
# "weblate.machinery.yandex.YandexTranslation",
|
|
||||||
# "weblate.machinery.saptranslationhub.SAPTranslationHub",
|
|
||||||
# "weblate.machinery.youdao.YoudaoTranslation",
|
|
||||||
"weblate.machinery.weblatetm.WeblateTranslation",
|
|
||||||
"weblate.memory.machine.WeblateMemory",
|
|
||||||
)
|
|
||||||
|
|
||||||
# Machine translation API keys
|
|
||||||
|
|
||||||
# URL of the Apertium APy server
|
|
||||||
MT_APERTIUM_APY = None
|
|
||||||
|
|
||||||
# DeepL API key
|
|
||||||
MT_DEEPL_KEY = None
|
|
||||||
|
|
||||||
# LibreTranslate
|
|
||||||
MT_LIBRETRANSLATE_API_URL = None
|
|
||||||
MT_LIBRETRANSLATE_KEY = None
|
|
||||||
|
|
||||||
# Microsoft Cognitive Services Translator API, register at
|
|
||||||
# https://portal.azure.com/
|
|
||||||
MT_MICROSOFT_COGNITIVE_KEY = None
|
|
||||||
MT_MICROSOFT_REGION = None
|
|
||||||
|
|
||||||
# ModernMT
|
|
||||||
MT_MODERNMT_KEY = None
|
|
||||||
|
|
||||||
# MyMemory identification email, see
|
|
||||||
# https://mymemory.translated.net/doc/spec.php
|
|
||||||
MT_MYMEMORY_EMAIL = None
|
|
||||||
|
|
||||||
# Optional MyMemory credentials to access private translation memory
|
|
||||||
MT_MYMEMORY_USER = None
|
|
||||||
MT_MYMEMORY_KEY = None
|
|
||||||
|
|
||||||
# Google API key for Google Translate API v2
|
|
||||||
MT_GOOGLE_KEY = None
|
|
||||||
|
|
||||||
# Google Translate API3 credentials and project id
|
|
||||||
MT_GOOGLE_CREDENTIALS = None
|
|
||||||
MT_GOOGLE_PROJECT = None
|
|
||||||
|
|
||||||
# Baidu app key and secret
|
|
||||||
MT_BAIDU_ID = None
|
|
||||||
MT_BAIDU_SECRET = None
|
|
||||||
|
|
||||||
# Youdao Zhiyun app key and secret
|
|
||||||
MT_YOUDAO_ID = None
|
|
||||||
MT_YOUDAO_SECRET = None
|
|
||||||
|
|
||||||
# Netease Sight (Jianwai) app key and secret
|
|
||||||
MT_NETEASE_KEY = None
|
|
||||||
MT_NETEASE_SECRET = None
|
|
||||||
|
|
||||||
# API key for Yandex Translate API
|
|
||||||
MT_YANDEX_KEY = None
|
|
||||||
|
|
||||||
# tmserver URL
|
|
||||||
MT_TMSERVER = None
|
|
||||||
|
|
||||||
# SAP Translation Hub
|
|
||||||
MT_SAP_BASE_URL = None
|
|
||||||
MT_SAP_SANDBOX_APIKEY = None
|
|
||||||
MT_SAP_USERNAME = None
|
|
||||||
MT_SAP_PASSWORD = None
|
|
||||||
MT_SAP_USE_MT = True
|
|
||||||
|
|
||||||
# Use HTTPS when creating redirect URLs for social authentication, see
|
# Use HTTPS when creating redirect URLs for social authentication, see
|
||||||
# documentation for more details:
|
# documentation for more details:
|
||||||
# https://python-social-auth-docs.readthedocs.io/en/latest/configuration/settings.html#processing-redirects-and-urlopen
|
# https://python-social-auth-docs.readthedocs.io/en/latest/configuration/settings.html#processing-redirects-and-urlopen
|
||||||
|
@ -636,7 +570,7 @@ SESSION_COOKIE_HTTPONLY = True
|
||||||
# SSL redirect
|
# SSL redirect
|
||||||
SECURE_SSL_REDIRECT = ENABLE_HTTPS
|
SECURE_SSL_REDIRECT = ENABLE_HTTPS
|
||||||
SECURE_SSL_HOST = SITE_DOMAIN
|
SECURE_SSL_HOST = SITE_DOMAIN
|
||||||
# Sent referrrer only for same origin links
|
# Sent referrer only for same origin links
|
||||||
SECURE_REFERRER_POLICY = "same-origin"
|
SECURE_REFERRER_POLICY = "same-origin"
|
||||||
# SSL redirect URL exemption list
|
# SSL redirect URL exemption list
|
||||||
SECURE_REDIRECT_EXEMPT = (r"healthz/$",) # Allowing HTTP access to health check
|
SECURE_REDIRECT_EXEMPT = (r"healthz/$",) # Allowing HTTP access to health check
|
||||||
|
@ -683,7 +617,7 @@ ANONYMOUS_USER_NAME = "anonymous"
|
||||||
# Reverse proxy settings
|
# Reverse proxy settings
|
||||||
IP_PROXY_HEADER = "HTTP_X_FORWARDED_FOR"
|
IP_PROXY_HEADER = "HTTP_X_FORWARDED_FOR"
|
||||||
IP_BEHIND_REVERSE_PROXY = False
|
IP_BEHIND_REVERSE_PROXY = False
|
||||||
IP_PROXY_OFFSET = 0
|
IP_PROXY_OFFSET = -1
|
||||||
|
|
||||||
# Sending HTML in mails
|
# Sending HTML in mails
|
||||||
EMAIL_SEND_HTML = True
|
EMAIL_SEND_HTML = True
|
||||||
|
@ -728,6 +662,7 @@ CRISPY_TEMPLATE_PACK = "bootstrap3"
|
||||||
# "weblate.checks.format.PHPFormatCheck",
|
# "weblate.checks.format.PHPFormatCheck",
|
||||||
# "weblate.checks.format.CFormatCheck",
|
# "weblate.checks.format.CFormatCheck",
|
||||||
# "weblate.checks.format.PerlFormatCheck",
|
# "weblate.checks.format.PerlFormatCheck",
|
||||||
|
# "weblate.checks.format.PerlBraceFormatCheck",
|
||||||
# "weblate.checks.format.JavaScriptFormatCheck",
|
# "weblate.checks.format.JavaScriptFormatCheck",
|
||||||
# "weblate.checks.format.LuaFormatCheck",
|
# "weblate.checks.format.LuaFormatCheck",
|
||||||
# "weblate.checks.format.ObjectPascalFormatCheck",
|
# "weblate.checks.format.ObjectPascalFormatCheck",
|
||||||
|
@ -748,6 +683,7 @@ CRISPY_TEMPLATE_PACK = "bootstrap3"
|
||||||
# "weblate.checks.consistency.PluralsCheck",
|
# "weblate.checks.consistency.PluralsCheck",
|
||||||
# "weblate.checks.consistency.SamePluralsCheck",
|
# "weblate.checks.consistency.SamePluralsCheck",
|
||||||
# "weblate.checks.consistency.ConsistencyCheck",
|
# "weblate.checks.consistency.ConsistencyCheck",
|
||||||
|
# "weblate.checks.consistency.ReusedCheck",
|
||||||
# "weblate.checks.consistency.TranslatedCheck",
|
# "weblate.checks.consistency.TranslatedCheck",
|
||||||
# "weblate.checks.chars.EscapedNewlineCountingCheck",
|
# "weblate.checks.chars.EscapedNewlineCountingCheck",
|
||||||
# "weblate.checks.chars.NewLineCountCheck",
|
# "weblate.checks.chars.NewLineCountCheck",
|
||||||
|
@ -770,6 +706,12 @@ CRISPY_TEMPLATE_PACK = "bootstrap3"
|
||||||
# "weblate.checks.source.LongUntranslatedCheck",
|
# "weblate.checks.source.LongUntranslatedCheck",
|
||||||
# "weblate.checks.format.MultipleUnnamedFormatsCheck",
|
# "weblate.checks.format.MultipleUnnamedFormatsCheck",
|
||||||
# "weblate.checks.glossary.GlossaryCheck",
|
# "weblate.checks.glossary.GlossaryCheck",
|
||||||
|
# "weblate.checks.fluent.syntax.FluentSourceSyntaxCheck",
|
||||||
|
# "weblate.checks.fluent.syntax.FluentTargetSyntaxCheck",
|
||||||
|
# "weblate.checks.fluent.parts.FluentPartsCheck",
|
||||||
|
# "weblate.checks.fluent.references.FluentReferencesCheck",
|
||||||
|
# "weblate.checks.fluent.inner_html.FluentSourceInnerHTMLCheck",
|
||||||
|
# "weblate.checks.fluent.inner_html.FluentTargetInnerHTMLCheck",
|
||||||
# )
|
# )
|
||||||
|
|
||||||
# List of automatic fixups
|
# List of automatic fixups
|
||||||
|
@ -778,6 +720,8 @@ CRISPY_TEMPLATE_PACK = "bootstrap3"
|
||||||
# "weblate.trans.autofixes.chars.ReplaceTrailingDotsWithEllipsis",
|
# "weblate.trans.autofixes.chars.ReplaceTrailingDotsWithEllipsis",
|
||||||
# "weblate.trans.autofixes.chars.RemoveZeroSpace",
|
# "weblate.trans.autofixes.chars.RemoveZeroSpace",
|
||||||
# "weblate.trans.autofixes.chars.RemoveControlChars",
|
# "weblate.trans.autofixes.chars.RemoveControlChars",
|
||||||
|
# "weblate.trans.autofixes.chars.DevanagariDanda",
|
||||||
|
# "weblate.trans.autofixes.html.BleachHTML",
|
||||||
# )
|
# )
|
||||||
|
|
||||||
# List of enabled addons
|
# List of enabled addons
|
||||||
|
@ -800,6 +744,7 @@ CRISPY_TEMPLATE_PACK = "bootstrap3"
|
||||||
# "weblate.addons.generate.GenerateFileAddon",
|
# "weblate.addons.generate.GenerateFileAddon",
|
||||||
# "weblate.addons.generate.PseudolocaleAddon",
|
# "weblate.addons.generate.PseudolocaleAddon",
|
||||||
# "weblate.addons.generate.PrefillAddon",
|
# "weblate.addons.generate.PrefillAddon",
|
||||||
|
# "weblate.addons.generate.FillReadOnlyAddon",
|
||||||
# "weblate.addons.json.JSONCustomizeAddon",
|
# "weblate.addons.json.JSONCustomizeAddon",
|
||||||
# "weblate.addons.xml.XMLCustomizeAddon",
|
# "weblate.addons.xml.XMLCustomizeAddon",
|
||||||
# "weblate.addons.properties.PropertiesSortAddon",
|
# "weblate.addons.properties.PropertiesSortAddon",
|
||||||
|
@ -824,14 +769,13 @@ ALLOWED_HOSTS = ["__DOMAIN__"]
|
||||||
# Configuration for caching
|
# Configuration for caching
|
||||||
CACHES = {
|
CACHES = {
|
||||||
"default": {
|
"default": {
|
||||||
"BACKEND": "django_redis.cache.RedisCache",
|
"BACKEND": "redis_lock.django_cache.RedisCache",
|
||||||
"LOCATION": "redis://127.0.0.1:6379/__REDIS_DB__",
|
"LOCATION": "redis://127.0.0.1:6379/__REDIS_DB__",
|
||||||
# If redis is running on same host as Weblate, you might
|
# If redis is running on same host as Weblate, you might
|
||||||
# want to use unix sockets instead:
|
# want to use unix sockets instead:
|
||||||
# "LOCATION": "unix:///var/run/redis/redis.sock?db=1",
|
# "LOCATION": "unix:///var/run/redis/redis.sock?db=1",
|
||||||
"OPTIONS": {
|
"OPTIONS": {
|
||||||
"CLIENT_CLASS": "django_redis.client.DefaultClient",
|
"CLIENT_CLASS": "django_redis.client.DefaultClient",
|
||||||
"PARSER_CLASS": "redis.connection.HiredisParser",
|
|
||||||
# If you set password here, adjust CELERY_BROKER_URL as well
|
# If you set password here, adjust CELERY_BROKER_URL as well
|
||||||
"PASSWORD": None,
|
"PASSWORD": None,
|
||||||
"CONNECTION_POOL_KWARGS": {},
|
"CONNECTION_POOL_KWARGS": {},
|
||||||
|
@ -883,10 +827,8 @@ FONTS_CDN_URL = None
|
||||||
|
|
||||||
# Django compressor offline mode
|
# Django compressor offline mode
|
||||||
COMPRESS_OFFLINE = False
|
COMPRESS_OFFLINE = False
|
||||||
COMPRESS_OFFLINE_CONTEXT = [
|
COMPRESS_OFFLINE_CONTEXT = "weblate.utils.compress.offline_context"
|
||||||
{"fonts_cdn_url": FONTS_CDN_URL, "STATIC_URL": STATIC_URL, "LANGUAGE_BIDI": True},
|
COMPRESS_CSS_HASHING_METHOD = "content"
|
||||||
{"fonts_cdn_url": FONTS_CDN_URL, "STATIC_URL": STATIC_URL, "LANGUAGE_BIDI": False},
|
|
||||||
]
|
|
||||||
|
|
||||||
# Require login for all URLs
|
# Require login for all URLs
|
||||||
if REQUIRE_LOGIN:
|
if REQUIRE_LOGIN:
|
||||||
|
@ -897,7 +839,7 @@ if REQUIRE_LOGIN:
|
||||||
# rf"{URL_PREFIX}/accounts/(.*)$", # Required for login
|
# rf"{URL_PREFIX}/accounts/(.*)$", # Required for login
|
||||||
# rf"{URL_PREFIX}/admin/login/(.*)$", # Required for admin login
|
# rf"{URL_PREFIX}/admin/login/(.*)$", # Required for admin login
|
||||||
# rf"{URL_PREFIX}/static/(.*)$", # Required for development mode
|
# rf"{URL_PREFIX}/static/(.*)$", # Required for development mode
|
||||||
# rf"{URL_PREFIX}/widgets/(.*)$", # Allowing public access to widgets
|
# rf"{URL_PREFIX}/widget/(.*)$", # Allowing public access to widgets
|
||||||
# rf"{URL_PREFIX}/data/(.*)$", # Allowing public access to data exports
|
# rf"{URL_PREFIX}/data/(.*)$", # Allowing public access to data exports
|
||||||
# rf"{URL_PREFIX}/hooks/(.*)$", # Allowing public access to notification hooks
|
# rf"{URL_PREFIX}/hooks/(.*)$", # Allowing public access to notification hooks
|
||||||
# rf"{URL_PREFIX}/healthz/$", # Allowing public access to health check
|
# rf"{URL_PREFIX}/healthz/$", # Allowing public access to health check
|
||||||
|
@ -957,9 +899,4 @@ MATOMO_URL = None
|
||||||
GOOGLE_ANALYTICS_ID = None
|
GOOGLE_ANALYTICS_ID = None
|
||||||
SENTRY_DSN = None
|
SENTRY_DSN = None
|
||||||
SENTRY_ENVIRONMENT = SITE_DOMAIN
|
SENTRY_ENVIRONMENT = SITE_DOMAIN
|
||||||
AKISMET_API_KEY = None
|
AKISMET_API_KEY = None
|
||||||
|
|
||||||
try:
|
|
||||||
from .local_settings import *
|
|
||||||
except ImportError:
|
|
||||||
pass
|
|
|
@ -6,7 +6,7 @@
|
||||||
"en": "Translation platform using Git and Python",
|
"en": "Translation platform using Git and Python",
|
||||||
"fr": "Plateforme de traduction utilisant Git et Python"
|
"fr": "Plateforme de traduction utilisant Git et Python"
|
||||||
},
|
},
|
||||||
"version": "4.18.2~ynh1",
|
"version": "5.3.1~ynh1",
|
||||||
"url": "https://weblate.org",
|
"url": "https://weblate.org",
|
||||||
"upstream": {
|
"upstream": {
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
|
|
|
@ -72,7 +72,7 @@ fi
|
||||||
ynh_script_progression --message="Stopping systemd services..." --weight=1
|
ynh_script_progression --message="Stopping systemd services..." --weight=1
|
||||||
|
|
||||||
ynh_systemd_action --service_name=$app --action="stop" --log_path="/var/log/$app/weblate.log" --line_match="goodbye to uWSGI"
|
ynh_systemd_action --service_name=$app --action="stop" --log_path="/var/log/$app/weblate.log" --line_match="goodbye to uWSGI"
|
||||||
ynh_systemd_action --service_name="$app-celery" --action="stop" --log_path="systemd" --line_match="Stopped"
|
ynh_systemd_action --service_name="$app-celery" --action="stop" --log_path="systemd"
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# MODIFY URL IN NGINX CONF
|
# MODIFY URL IN NGINX CONF
|
||||||
|
|
|
@ -60,7 +60,7 @@ ynh_abort_if_errors
|
||||||
ynh_script_progression --message="Stopping systemd services..." --weight=5
|
ynh_script_progression --message="Stopping systemd services..." --weight=5
|
||||||
|
|
||||||
ynh_systemd_action --service_name=$app --action="stop" --log_path="/var/log/$app/weblate.log" --line_match="goodbye to uWSGI"
|
ynh_systemd_action --service_name=$app --action="stop" --log_path="/var/log/$app/weblate.log" --line_match="goodbye to uWSGI"
|
||||||
ynh_systemd_action --service_name="$app-celery" --action="stop" --log_path="systemd" --line_match="Stopped"
|
ynh_systemd_action --service_name="$app-celery" --action="stop" --log_path="systemd"
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# ENSURE DOWNWARD COMPATIBILITY
|
# ENSURE DOWNWARD COMPATIBILITY
|
||||||
|
|
Loading…
Reference in a new issue