mirror of
https://github.com/YunoHost/moulinette.git
synced 2024-09-03 20:06:31 +02:00
Merge branch 'dev' into rework-authenticator-system
This commit is contained in:
commit
3c0542ef24
8 changed files with 31 additions and 14 deletions
10
debian/changelog
vendored
10
debian/changelog
vendored
|
@ -1,3 +1,13 @@
|
||||||
|
moulinette (4.2.4) stable; urgency=low
|
||||||
|
|
||||||
|
- [fix] Avoid warning and use safeloader ([#281](https://github.com/YunoHost/moulinette/pull/281))
|
||||||
|
- [fix] Add warning when trying to feed non-string values to Popen env (2a89a82)
|
||||||
|
- [i18n] Translations updated for Esperanto, French, German, Portuguese
|
||||||
|
|
||||||
|
Thanks to all contributors <3 ! (amirale qt, Christian Wehrli, Éric Gaspar, ljf, mifegui)
|
||||||
|
|
||||||
|
-- Alexandre Aubin <alex.aubin@mailoo.org> Thu, 19 Aug 2021 19:25:30 +0200
|
||||||
|
|
||||||
moulinette (4.2.3.3) stable; urgency=low
|
moulinette (4.2.3.3) stable; urgency=low
|
||||||
|
|
||||||
- [fix] Damn array args bug (2c9ec9f6)
|
- [fix] Damn array args bug (2c9ec9f6)
|
||||||
|
|
|
@ -29,9 +29,9 @@
|
||||||
"success": "Erfolg!",
|
"success": "Erfolg!",
|
||||||
"unable_authenticate": "Anmelden fehlgeschlagen",
|
"unable_authenticate": "Anmelden fehlgeschlagen",
|
||||||
"unable_retrieve_session": "Sitzung konnte nicht abgerufen werden. Grund: '{exception}'",
|
"unable_retrieve_session": "Sitzung konnte nicht abgerufen werden. Grund: '{exception}'",
|
||||||
"values_mismatch": "Die Werte passen nicht",
|
"values_mismatch": "Die Werte passen nicht zusammen",
|
||||||
"warning": "Warnung:",
|
"warning": "Warnung:",
|
||||||
"websocket_request_expected": "Eine WebSocket Anfrage wurde erwartet",
|
"websocket_request_expected": "Eine WebSocket-Anfrage wurde erwartet",
|
||||||
"deprecated_command": "'{prog} {command}' ist veraltet und wird bald entfernt werden",
|
"deprecated_command": "'{prog} {command}' ist veraltet und wird bald entfernt werden",
|
||||||
"deprecated_command_alias": "'{prog} {old}' ist veraltet und wird bald entfernt werden, benutze '{prog} {new}' stattdessen",
|
"deprecated_command_alias": "'{prog} {old}' ist veraltet und wird bald entfernt werden, benutze '{prog} {new}' stattdessen",
|
||||||
"unknown_group": "Gruppe '{group}' ist unbekannt",
|
"unknown_group": "Gruppe '{group}' ist unbekannt",
|
||||||
|
@ -41,7 +41,7 @@
|
||||||
"corrupted_json": "Beschädigtes JSON gelesen von {ressource:s} (reason: {error:s})",
|
"corrupted_json": "Beschädigtes JSON gelesen von {ressource:s} (reason: {error:s})",
|
||||||
"unknown_error_reading_file": "Unbekannter Fehler beim Lesen der Datei {file:s} (reason: {error:s})",
|
"unknown_error_reading_file": "Unbekannter Fehler beim Lesen der Datei {file:s} (reason: {error:s})",
|
||||||
"cannot_write_file": "Kann Datei {file:s} nicht schreiben (reason: {error:s})",
|
"cannot_write_file": "Kann Datei {file:s} nicht schreiben (reason: {error:s})",
|
||||||
"cannot_open_file": "Kann Datei {file:s} nicht öffnen (reason: {error:s})",
|
"cannot_open_file": "Datei {file:s} konnte nicht geöffnet werden (Ursache: {error:s})",
|
||||||
"corrupted_yaml": "Beschädigtes YAML gelesen von {ressource:s} (reason: {error:s})",
|
"corrupted_yaml": "Beschädigtes YAML gelesen von {ressource:s} (reason: {error:s})",
|
||||||
"warn_the_user_that_lock_is_acquired": "Der andere Befehl wurde gerade abgeschlossen, starte jetzt diesen Befehl",
|
"warn_the_user_that_lock_is_acquired": "Der andere Befehl wurde gerade abgeschlossen, starte jetzt diesen Befehl",
|
||||||
"warn_the_user_about_waiting_lock_again": "Immer noch wartend...",
|
"warn_the_user_about_waiting_lock_again": "Immer noch wartend...",
|
||||||
|
@ -57,5 +57,5 @@
|
||||||
"error_writing_file": "Fehler beim Schreiben von Datei {file:s}: {error:s}",
|
"error_writing_file": "Fehler beim Schreiben von Datei {file:s}: {error:s}",
|
||||||
"corrupted_toml": "Beschädigtes TOML gelesen von {ressource:s} (reason: {error:s})",
|
"corrupted_toml": "Beschädigtes TOML gelesen von {ressource:s} (reason: {error:s})",
|
||||||
"ldap_server_is_down_restart_it": "Der LDAP-Dienst wurde angehalten. Es wird versucht, ihn erneut zu starten...",
|
"ldap_server_is_down_restart_it": "Der LDAP-Dienst wurde angehalten. Es wird versucht, ihn erneut zu starten...",
|
||||||
"session_expired": "Die Sitzung ist abgelaufen. Bitte neuauthentifizieren."
|
"session_expired": "Die Sitzung ist abgelaufen. Bitte authentifizieren Sie sich neu ."
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"password": "Pasvorto",
|
"password": "Pasvorto",
|
||||||
"colon": "{}: ",
|
"colon": "{}: ",
|
||||||
"warn_the_user_that_lock_is_acquired": "la alia komando ĵus kompletigis, nun komencante ĉi tiun komandon",
|
"warn_the_user_that_lock_is_acquired": "La alia komando ĵus kompletigis, nun komencante ĉi tiun komandon",
|
||||||
"warn_the_user_about_waiting_lock_again": "Ankoraŭ atendanta...",
|
"warn_the_user_about_waiting_lock_again": "Ankoraŭ atendanta...",
|
||||||
"warn_the_user_about_waiting_lock": "Alia komando de YunoHost funkcias ĝuste nun, ni atendas, ke ĝi finiĝos antaŭ ol funkcii ĉi tiu",
|
"warn_the_user_about_waiting_lock": "Alia komando de YunoHost funkcias ĝuste nun, ni atendas, ke ĝi finiĝos antaŭ ol funkcii ĉi tiu",
|
||||||
"command_unknown": "Komando '{command:s}' nekonata?",
|
"command_unknown": "Komando '{command:s}' nekonata?",
|
||||||
|
@ -9,13 +9,13 @@
|
||||||
"download_unknown_error": "Eraro dum elŝutado de datumoj de {url:s}: {error:s}",
|
"download_unknown_error": "Eraro dum elŝutado de datumoj de {url:s}: {error:s}",
|
||||||
"download_timeout": "{url:s} prenis tro da tempo por respondi, rezignis.",
|
"download_timeout": "{url:s} prenis tro da tempo por respondi, rezignis.",
|
||||||
"download_ssl_error": "SSL-eraro dum konekto al {url:s}",
|
"download_ssl_error": "SSL-eraro dum konekto al {url:s}",
|
||||||
"invalid_url": "Nevalida url {url:s} (ĉu ĉi tiu retejo ekzistas?)",
|
"invalid_url": "Nevalida URL{url:s} (ĉu ĉi tiu retejo ekzistas?)",
|
||||||
"error_changing_file_permissions": "Eraro dum ŝanĝo de permesoj por {path:s}: {error:s}",
|
"error_changing_file_permissions": "Eraro dum ŝanĝo de permesoj por {path:s}: {error:s}",
|
||||||
"error_removing": "Eraro dum la forigo de {path:s}: {error:s}",
|
"error_removing": "Eraro dum la forigo de {path:s}: {error:s}",
|
||||||
"error_writing_file": "Eraro skribinte dosieron {file:s}: {error:s}",
|
"error_writing_file": "Eraro skribinte dosieron {file:s}: {error:s}",
|
||||||
"corrupted_toml": "Korupta toml legita el {ressource:s} (kialo: {error:s})",
|
"corrupted_toml": "Korupta TOML legita el {ressource:s} (kialo: {error:s})",
|
||||||
"corrupted_yaml": "Korupta yaml legita de {ressource:s} (kialo: {error:s})",
|
"corrupted_yaml": "Korupta YAML legita de {ressource:s} (kialo: {error:s})",
|
||||||
"corrupted_json": "Koruptita json legita de {ressource:s} (kialo: {error:s})",
|
"corrupted_json": "Koruptita JSON legis de {ressource:s} (Kialo: {error:s})",
|
||||||
"unknown_error_reading_file": "Nekonata eraro dum provi legi dosieron {file:s} (kialo: {error:s})",
|
"unknown_error_reading_file": "Nekonata eraro dum provi legi dosieron {file:s} (kialo: {error:s})",
|
||||||
"cannot_write_file": "Ne povis skribi dosieron {file:s} (kialo: {error:s})",
|
"cannot_write_file": "Ne povis skribi dosieron {file:s} (kialo: {error:s})",
|
||||||
"cannot_open_file": "Ne povis malfermi dosieron {file: s} (kialo: {error: s})",
|
"cannot_open_file": "Ne povis malfermi dosieron {file: s} (kialo: {error: s})",
|
||||||
|
@ -54,5 +54,7 @@
|
||||||
"authentication_profile_required": "Aŭtentigo al la profilo '{profile}' bezonata",
|
"authentication_profile_required": "Aŭtentigo al la profilo '{profile}' bezonata",
|
||||||
"argument_required": "Argumento '{argument}' estas bezonata",
|
"argument_required": "Argumento '{argument}' estas bezonata",
|
||||||
"logged_out": "Ensalutinta",
|
"logged_out": "Ensalutinta",
|
||||||
"invalid_token": "Nevalida tokeno - bonvolu autentiki"
|
"invalid_token": "Nevalida tokeno - bonvolu autentiki",
|
||||||
|
"ldap_server_is_down_restart_it": "La LDAP-servo malpliiĝas, provu rekomenci ĝin...",
|
||||||
|
"session_expired": "La sesio eksvalidiĝis. Bonvolu re-aŭtentikigi."
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"authentication_required": "Authentification requise",
|
"authentication_required": "Authentification requise",
|
||||||
"authentication_required_long": "L’authentification est requise pour exécuter cette action",
|
"authentication_required_long": "L’authentification est requise pour exécuter cette action",
|
||||||
"colon": "{} : ",
|
"colon": "{} : ",
|
||||||
"confirm": "Confirmez : {prompt}",
|
"confirm": "Confirmez {prompt}",
|
||||||
"deprecated_command": "'{prog} {command}' est déprécié et sera bientôt supprimé",
|
"deprecated_command": "'{prog} {command}' est déprécié et sera bientôt supprimé",
|
||||||
"deprecated_command_alias": "'{prog} {old}' est déprécié et sera bientôt supprimé, utilisez '{prog} {new}' à la place",
|
"deprecated_command_alias": "'{prog} {old}' est déprécié et sera bientôt supprimé, utilisez '{prog} {new}' à la place",
|
||||||
"error": "Erreur :",
|
"error": "Erreur :",
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"argument_required": "O argumento {argument} é obrigatório",
|
"argument_required": "O argumento '{argument}' é obrigatório",
|
||||||
"authentication_profile_required": "Autenticação requerida para o perfil '{profile}'",
|
"authentication_profile_required": "Autenticação requerida para o perfil '{profile}'",
|
||||||
"authentication_required": "Autenticação obrigatória",
|
"authentication_required": "Autenticação obrigatória",
|
||||||
"authentication_required_long": "É preciso autenticar-se para realizar esta ação",
|
"authentication_required_long": "É preciso autenticar-se para realizar esta ação",
|
||||||
|
|
1
locales/uk.json
Normal file
1
locales/uk.json
Normal file
|
@ -0,0 +1 @@
|
||||||
|
{}
|
|
@ -383,7 +383,7 @@ class ExtraArgumentParser(object):
|
||||||
|
|
||||||
|
|
||||||
def ordered_yaml_load(stream):
|
def ordered_yaml_load(stream):
|
||||||
class OrderedLoader(yaml.Loader):
|
class OrderedLoader(yaml.SafeLoader):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
OrderedLoader.add_constructor(
|
OrderedLoader.add_constructor(
|
||||||
|
|
|
@ -2,6 +2,7 @@ import subprocess
|
||||||
import os
|
import os
|
||||||
import threading
|
import threading
|
||||||
import queue
|
import queue
|
||||||
|
import logging
|
||||||
|
|
||||||
# This import is unused in this file. It will be deleted in future (W0611 PEP8),
|
# This import is unused in this file. It will be deleted in future (W0611 PEP8),
|
||||||
# but for the momment we keep it due to yunohost moulinette script that used
|
# but for the momment we keep it due to yunohost moulinette script that used
|
||||||
|
@ -12,7 +13,7 @@ quote # This line is here to avoid W0611 PEP8 error (see comments above)
|
||||||
|
|
||||||
# Prevent to import subprocess only for common classes
|
# Prevent to import subprocess only for common classes
|
||||||
CalledProcessError = subprocess.CalledProcessError
|
CalledProcessError = subprocess.CalledProcessError
|
||||||
|
logger = logging.getLogger("moulinette.utils.process")
|
||||||
|
|
||||||
# Alternative subprocess methods ---------------------------------------
|
# Alternative subprocess methods ---------------------------------------
|
||||||
|
|
||||||
|
@ -70,6 +71,9 @@ def call_async_output(args, callback, **kwargs):
|
||||||
kwargs["env"] = os.environ
|
kwargs["env"] = os.environ
|
||||||
kwargs["env"]["YNH_STDINFO"] = str(stdinfo.fdWrite)
|
kwargs["env"]["YNH_STDINFO"] = str(stdinfo.fdWrite)
|
||||||
|
|
||||||
|
if "env" in kwargs and not all(isinstance(v, str) for v in kwargs["env"].values()):
|
||||||
|
logger.warning("While trying to call call_async_output: env contained non-string values, probably gonna cause issue in Popen(...)")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
p = subprocess.Popen(args, **kwargs)
|
p = subprocess.Popen(args, **kwargs)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue