diff --git a/.github/workflows/autoblack.yml b/.github/workflows/autoblack.yml index 35380607..369f8882 100644 --- a/.github/workflows/autoblack.yml +++ b/.github/workflows/autoblack.yml @@ -8,16 +8,23 @@ jobs: name: Check / auto apply black runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Check files using the black formatter - uses: rickstaa/action-black@v1 - id: action_black + uses: psf/black@stable + id: black with: - black_args: "." + options: "." continue-on-error: true + - shell: pwsh + id: check_files_changed + run: | + # Diff HEAD with the previous commit + $diff = git diff + $HasDiff = $diff.Length -gt 0 + Write-Host "::set-output name=files_changed::$HasDiff" - name: Create Pull Request - if: steps.action_black.outputs.is_formatted == 'true' - uses: peter-evans/create-pull-request@v3 + if: steps.check_files_changed.outputs.files_changed == 'true' + uses: peter-evans/create-pull-request@v6 with: token: ${{ secrets.GITHUB_TOKEN }} title: "Format Python code with Black" diff --git a/.github/workflows/i18n.yml b/.github/workflows/i18n.yml index 1bbedb57..76735e29 100644 --- a/.github/workflows/i18n.yml +++ b/.github/workflows/i18n.yml @@ -8,7 +8,7 @@ jobs: name: Autoreformat locale files runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Apply reformating scripts id: action_reformat run: | @@ -18,7 +18,7 @@ jobs: git diff -w --exit-code - name: Create Pull Request if: ${{ failure() }} - uses: peter-evans/create-pull-request@v3 + uses: peter-evans/create-pull-request@v6 with: token: ${{ secrets.GITHUB_TOKEN }} title: "Reformat locale files" diff --git a/.github/workflows/tox.yml b/.github/workflows/tox.yml index d06d7c48..920de24f 100644 --- a/.github/workflows/tox.yml +++ b/.github/workflows/tox.yml @@ -14,9 +14,9 @@ jobs: matrix: python-version: [3.11] steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v2 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install apt dependencies @@ -34,9 +34,9 @@ jobs: matrix: python-version: [3.11] steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v2 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install tox diff --git a/debian/changelog b/debian/changelog index c8eb5821..f148a393 100644 --- a/debian/changelog +++ b/debian/changelog @@ -4,6 +4,15 @@ moulinette (12.0.0) unstable; urgency=low -- Alexandre Aubin Thu, 04 May 2023 20:30:19 +0200 +moulinette (11.2.1) stable; urgency=low + + - repo chores: various black enhancements + - [i18n] Translations updated for Arabic, Basque, Catalan, Chinese (Simplified), Czech, Dutch, English, Esperanto, French, Galician, German, Hindi, Indonesian, Italian, Japanese, Nepali, Norwegian Bokmål, Persian, Polish, Portuguese, Russian, Spanish, Swedish, Turkish, Ukrainian + + Thanks to all contributors <3 ! (Alexandre Aubin, Francescc, José M, Metin Bektas, ppr, Psycojoker, rosbeef andino, Tagada, xabirequejo, xaloc33) + + -- OniriCorpe Sun, 19 May 2024 23:49:00 +0200 + moulinette (11.2) stable; urgency=low - [i18n] Translations updated for Japanese diff --git a/doc/ldif2dot-0.1.py b/doc/ldif2dot-0.1.py index 11165474..f492bebf 100644 --- a/doc/ldif2dot-0.1.py +++ b/doc/ldif2dot-0.1.py @@ -43,7 +43,7 @@ class Element: def __repr__(self): """Returns a basic state dump.""" - return 'Element' + str(self.index) + str(self.attributes) + return "Element" + str(self.index) + str(self.attributes) def add(self, line): """Adds a line of input to the object. @@ -57,10 +57,10 @@ class Element: """ def _valid(line): - return line and not line.startswith('#') + return line and not line.startswith("#") def _interesting(line): - return line != 'objectClass: top' + return line != "objectClass: top" if self.is_valid() and not _valid(line): return True @@ -70,11 +70,11 @@ class Element: def is_valid(self): """Indicates whether a valid entry has been read.""" - return len(self.attributes) != 0 and self.attributes[0].startswith('dn: ') + return len(self.attributes) != 0 and self.attributes[0].startswith("dn: ") def dn(self): """Returns the DN for this entry.""" - if self.attributes[0].startswith('dn: '): + if self.attributes[0].startswith("dn: "): return self.attributes[0][4:] else: return None @@ -86,12 +86,12 @@ class Element: Element objects) and returns a string which declares a DOT edge, or an empty string, if no parent was found. """ - dn_components = self.dn().split(',') + dn_components = self.dn().split(",") for i in range(1, len(dn_components) + 1): - parent = ','.join(dn_components[i:]) + parent = ",".join(dn_components[i:]) if parent in dnmap: - return ' n%d->n%d\n' % (dnmap[parent].index, self.index) - return '' + return " n%d->n%d\n" % (dnmap[parent].index, self.index) + return "" def dot(self, dnmap): """Returns a text representation of the node and perhaps its parent edge. @@ -99,6 +99,7 @@ class Element: Args: - dnmap: dictionary mapping dn names to Element objects """ + def _format(attributes): result = [TITLE_ENTRY_TEMPALTE % attributes[0]] @@ -107,7 +108,12 @@ class Element: return result - return TABLE_TEMPLATE % (self.index, '\n '.join(_format(self.attributes)), self.edge(dnmap)) + return TABLE_TEMPLATE % ( + self.index, + "\n ".join(_format(self.attributes)), + self.edge(dnmap), + ) + class Converter: """An LDIF to DOT converter.""" @@ -144,7 +150,11 @@ class Converter: e = Element() if e.is_valid(): self._append(e) - return (BASE_TEMPLATE % (name, ''.join([e.dot(self.dnmap) for e in self.elements]))) + return BASE_TEMPLATE % ( + name, + "".join([e.dot(self.dnmap) for e in self.elements]), + ) + BASE_TEMPLATE = """\ strict digraph "%s" { @@ -191,13 +201,13 @@ ENTRY_TEMPALTE = """\ """ -if __name__ == '__main__': +if __name__ == "__main__": if len(sys.argv) > 2: - raise 'Expected at most one argument.' + raise "Expected at most one argument." elif len(sys.argv) == 2: name = sys.argv[1] - file = open(sys.argv[1], 'r') + file = open(sys.argv[1], "r") else: - name = '' + name = "" file = sys.stdin - print Converter().parse(file, name) + print(Converter().parse(file, name)) diff --git a/locales/ar.json b/locales/ar.json index a551db49..59b825fb 100644 --- a/locales/ar.json +++ b/locales/ar.json @@ -32,7 +32,7 @@ "error_writing_file": "طرأ هناك خطأ أثناء الكتابة في الملف {file}: {error}", "error_removing": "خطأ أثناء عملية حذف {path}: {error}", "error_changing_file_permissions": "خطأ أثناء عملية تعديل التصريحات لـ {path}: {error}", - "invalid_url": "فشل الاتصال بـ {url} ... ربما تكون الخدمة معطلة ، أو أنك غير متصل بشكل صحيح بالإنترنت في IPv4 / IPv6.", + "invalid_url": "فشل الاتصال بـ {url}… ربما تكون الخدمة معطلة ، أو أنك غير متصل بشكل صحيح بالإنترنت في IPv4 / IPv6.", "download_ssl_error": "خطأ في الاتصال الآمن عبر الـ SSL أثناء محاولة الربط بـ {url}", "download_timeout": "{url} استغرق مدة طويلة جدا للإستجابة، فتوقّف.", "download_unknown_error": "خطأ أثناء عملية تنزيل البيانات مِن {url} : {error}", @@ -44,4 +44,4 @@ "warn_the_user_about_waiting_lock": "هناك أمر لـ YunoHost قيد التشغيل حاليا. في انتظار انتهاء تنفيذه قبل تشغيل التالي", "edit_text_question": "{}. تعديل هذا النص؟ [yN]: ", "corrupted_toml": "قراءة مُشوّهة لملف TOML مِن {ressource} (السبب : {error})" -} +} \ No newline at end of file diff --git a/locales/ca.json b/locales/ca.json index d3afdcad..a12f3f5f 100644 --- a/locales/ca.json +++ b/locales/ca.json @@ -1,7 +1,7 @@ { - "argument_required": "Es requereix l'argument {argument}", + "argument_required": "Es requereix l'argument «{argument}»", "authentication_required": "Es requereix autenticació", - "confirm": "Confirmar{prompt}", + "confirm": "Confirmar {prompt}", "deprecated_command": "{prog}{command}és obsolet i es desinstal·larà en el futur", "deprecated_command_alias": "{prog}{old}és obsolet i es desinstal·larà en el futur, utilitzeu {prog}{new}en el seu lloc", "error": "Error:", @@ -33,7 +33,7 @@ "error_writing_file": "Error al escriure el fitxer {file}: {error}", "error_removing": "Error al eliminar {path}: {error}", "error_changing_file_permissions": "Error al canviar els permisos per {path}: {error}", - "invalid_url": "URL invàlid {url} (el lloc web existeix?)", + "invalid_url": "No s'ha pogut connectar a {url}… pot ser que el servei estigui caigut, o que no hi hagi connexió a Internet amb IPv4/IPv6.", "download_ssl_error": "Error SSL al connectar amb {url}", "download_timeout": "{url} ha tardat massa en respondre, s'ha deixat d'esperar.", "download_unknown_error": "Error al baixar dades des de {url}: {error}", @@ -42,5 +42,6 @@ "corrupted_toml": "El fitxer TOML ha estat corromput en la lectura des de {ressource} (motiu: {error})", "warn_the_user_about_waiting_lock": "Hi ha una altra ordre de YunoHost en execució, s'executarà aquesta ordre un cop l'anterior hagi acabat", "warn_the_user_about_waiting_lock_again": "Encara en espera…", - "warn_the_user_that_lock_is_acquired": "L'altra ordre tot just ha acabat, ara s'executarà aquesta ordre" + "warn_the_user_that_lock_is_acquired": "L'altra ordre tot just ha acabat, ara s'executarà aquesta ordre", + "edit_text_question": "{}. Edita aquest text ? [yN]: " } \ No newline at end of file diff --git a/locales/cmn.json b/locales/cmn.json index d832b5de..75103d73 100644 --- a/locales/cmn.json +++ b/locales/cmn.json @@ -34,14 +34,14 @@ "error_writing_file": "写入文件{file}失败:{error}", "error_removing": "删除路径{path}失败:{error}", "error_changing_file_permissions": "目录{path}权限修改失败:{error}", - "invalid_url": "{url} 连接失败... 可能是服务中断了,或者你没有正确连接到IPv4/IPv6的互联网。", + "invalid_url": "{url} 连接失败… 可能是服务中断了,或者你没有正确连接到IPv4/IPv6的互联网。", "download_ssl_error": "连接{url}时发生SSL错误", "download_timeout": "{url}响应超时,放弃。", "download_unknown_error": "下载{url}失败:{error}", "download_bad_status_code": "{url}返回状态码:{code}", "warn_the_user_that_lock_is_acquired": "另一个命令刚刚完成,现在启动此命令", - "warn_the_user_about_waiting_lock_again": "仍在等待...", + "warn_the_user_about_waiting_lock_again": "仍在等待…", "warn_the_user_about_waiting_lock": "目前正在运行另一个YunoHost命令,我们在运行此命令之前等待它完成", "corrupted_toml": "从{ressource}读取的TOML已损坏(原因:{error})", "edit_text_question": "{}.编辑此文本?[yN]: " -} +} \ No newline at end of file diff --git a/locales/cs.json b/locales/cs.json index 87a8207c..beb3186c 100644 --- a/locales/cs.json +++ b/locales/cs.json @@ -2,7 +2,7 @@ "password": "Heslo", "logged_out": "Jste odhlášen/a", "warn_the_user_that_lock_is_acquired": "Předchozí operace dokončena, nyní spouštíme tuto", - "warn_the_user_about_waiting_lock_again": "Stále čekáme...", + "warn_the_user_about_waiting_lock_again": "Stále čekáme…", "warn_the_user_about_waiting_lock": "Jiná YunoHost operace právě probíhá, před spuštěním této čekáme na její dokončení", "download_bad_status_code": "{url} vrátil stavový kód {code}", "download_unknown_error": "Chyba při stahování dat z {url}: {error}", @@ -44,4 +44,4 @@ "authentication_required": "Vyžadováno ověření", "argument_required": "Je vyžadován argument '{argument}'", "edit_text_question": "{}. Upravit tento text? [yN]: " -} +} \ No newline at end of file diff --git a/locales/da.json b/locales/da.json index 0967ef42..9e26dfee 100644 --- a/locales/da.json +++ b/locales/da.json @@ -1 +1 @@ -{} +{} \ No newline at end of file diff --git a/locales/de.json b/locales/de.json index 4ea4c77f..e02a64b4 100644 --- a/locales/de.json +++ b/locales/de.json @@ -32,16 +32,16 @@ "cannot_open_file": "Datei {file} konnte nicht geöffnet werden (Ursache: {error})", "corrupted_yaml": "Beschädigtes YAML gelesen von {ressource} (reason: {error})", "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…", "warn_the_user_about_waiting_lock": "Ein anderer YunoHost Befehl läuft gerade, wir warten bis er fertig ist, bevor dieser laufen kann", "download_bad_status_code": "{url} lieferte folgende(n) Status Code(s) {code}", "download_unknown_error": "Fehler beim Herunterladen von Daten von {url}: {error}", "download_timeout": "{url} brauchte zu lange zum Antworten, hab aufgegeben.", "download_ssl_error": "SSL Fehler beim Verbinden zu {url}", - "invalid_url": "Konnte keine Verbindung zu {url} herstellen... vielleicht ist der Dienst ausgefallen, oder Sie sind nicht richtig mit dem Internet in IPv4/IPv6 verbunden.", + "invalid_url": "Konnte keine Verbindung zu {url} herstellen… vielleicht ist der Dienst ausgefallen, oder Sie sind nicht richtig mit dem Internet in IPv4/IPv6 verbunden.", "error_changing_file_permissions": "Fehler beim Ändern der Berechtigungen für {path}: {error}", "error_removing": "Fehler beim Entfernen {path}: {error}", "error_writing_file": "Fehler beim Schreiben von Datei {file}: {error}", "corrupted_toml": "Beschädigtes TOML gelesen von {ressource} (reason: {error})", "edit_text_question": "{}. Diesen Text bearbeiten? [yN]: " -} +} \ No newline at end of file diff --git a/locales/en.json b/locales/en.json index ca0ff36d..dd276ed0 100644 --- a/locales/en.json +++ b/locales/en.json @@ -36,7 +36,7 @@ "error_writing_file": "Error when writing file {file}: {error}", "error_removing": "Error when removing {path}: {error}", "error_changing_file_permissions": "Error when changing permissions for {path}: {error}", - "invalid_url": "Failed to connect to {url} ... maybe the service is down, or you are not properly connected to the Internet in IPv4/IPv6.", + "invalid_url": "Failed to connect to {url}... maybe the service is down, or you are not properly connected to the Internet in IPv4/IPv6.", "download_ssl_error": "SSL error when connecting to {url}", "download_timeout": "{url} took too long to answer, gave up.", "download_unknown_error": "Error when downloading data from {url}: {error}", diff --git a/locales/eo.json b/locales/eo.json index 02d8a43b..f1610b15 100644 --- a/locales/eo.json +++ b/locales/eo.json @@ -1,7 +1,7 @@ { "password": "Pasvorto", "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", "download_bad_status_code": "{url} redonita statuskodo {code}", "download_unknown_error": "Eraro dum elŝutado de datumoj de {url}: {error}", @@ -16,7 +16,7 @@ "corrupted_json": "Koruptita JSON legis de {ressource} (Kialo: {error})", "unknown_error_reading_file": "Nekonata eraro dum provi legi dosieron {file} (kialo: {error})", "cannot_write_file": "Ne povis skribi dosieron {file} (kialo: {error})", - "cannot_open_file": "Ne povis malfermi dosieron {file: s} (kialo: {error: s})", + "cannot_open_file": "Ne povis malfermi dosieron {file} (kialo: {error})", "websocket_request_expected": "Atendis ret-peto", "warning": "Averto:", "values_mismatch": "Valoroj ne kongruas", diff --git a/locales/es.json b/locales/es.json index f766f850..a0bd92c9 100644 --- a/locales/es.json +++ b/locales/es.json @@ -32,7 +32,7 @@ "error_writing_file": "Error al escribir el archivo {file}: {error}", "error_removing": "Error al eliminar {path}: {error}", "error_changing_file_permissions": "Error al cambiar los permisos para {path}: {error}", - "invalid_url": "URL inválida {url} (¿Existe este sitio?).", + "invalid_url": "Imposible de conectarse a {url} (¿ la URL esta correcta, existe este sitio, o internet esta accesible?).", "download_ssl_error": "Error SSL al conectar con {url}", "download_timeout": "{url} tardó demasiado en responder, abandono.", "download_unknown_error": "Error al descargar datos desde {url} : {error}", @@ -41,7 +41,7 @@ "info": "Información:", "corrupted_toml": "Lectura corrupta de TOML desde {ressource} (motivo: {error})", "warn_the_user_that_lock_is_acquired": "La otra orden recién terminó, iniciando esta orden ahora", - "warn_the_user_about_waiting_lock_again": "Aún esperando...", + "warn_the_user_about_waiting_lock_again": "Aún esperando…", "warn_the_user_about_waiting_lock": "Otra orden de YunoHost se está ejecutando ahora, estamos esperando a que termine antes de ejecutar esta", "edit_text_question": "{}. Editar este texto ? [sN]: " } diff --git a/locales/eu.json b/locales/eu.json index 5f8e3763..74266205 100644 --- a/locales/eu.json +++ b/locales/eu.json @@ -22,7 +22,7 @@ "download_ssl_error": "SSL errorea {url}-(e)ra konektatzean", "corrupted_toml": "{ressource}-eko/go TOMLa kaltetuta dago (zergatia: {error})", "warn_the_user_about_waiting_lock": "YunoHosten beste komando bat ari da exekutatzen, horrek amaitu arte gaude zain", - "warn_the_user_about_waiting_lock_again": "Zain…", + "warn_the_user_about_waiting_lock_again": "Zain...", "folder_exists": "Direktorioa existitzen da dagoeneko: '{path}'", "instance_already_running": "YunoHosten eragiketa bat exekutatzen ari da dagoeneko. Itxaron amaitu arte beste eragiketa bat abiarazi baino lehen.", "invalid_usage": "Erabilera okerra, idatzi --help aukerak ikusteko", @@ -42,6 +42,6 @@ "error_writing_file": "Errorea {file} fitxategia idazterakoan: {error}", "error_removing": "Errorea {path} ezabatzerakoan: {error}", "download_bad_status_code": "{url} helbideak {code} egoera kodea agertu du", - "invalid_url": "Ezinezkoa izan da {url}-(e)ra konektatzea… agian zerbitzua ez dago martxan, edo zeu ez zaude IPv4/IPv6 bidez ondo konektatuta internetera.", + "invalid_url": "{url}-(e)ra konektatzeak huts egin du... agian zerbitzua ez dago martxan, edo ez zaude IPv4/IPv6 bidez ondo konektatuta internetera.", "download_timeout": "{url}(e)k denbora gehiegi behar izan du erantzuteko, bertan behera utzi du zerbitzariak." } diff --git a/locales/fa.json b/locales/fa.json index 5873da9d..643c8b98 100644 --- a/locales/fa.json +++ b/locales/fa.json @@ -14,13 +14,13 @@ "argument_required": "استدلال '{argument}' ضروری است", "password": "کلمه عبور", "warn_the_user_that_lock_is_acquired": "فرمان دیگر به تازگی تکمیل شده است ، اکنون این دستور را شروع کنید", - "warn_the_user_about_waiting_lock_again": "هنوز در انتظار...", + "warn_the_user_about_waiting_lock_again": "هنوز در انتظار…", "warn_the_user_about_waiting_lock": "یکی دیگر از دستورات YunoHost در حال اجرا است ، ما منتظر هستیم تا قبل از اجرای این دستور به پایان برسد", "download_bad_status_code": "{url} کد وضعیّت بازگشتی {code}", "download_unknown_error": "خطا هنگام بارگیری داده ها از {url}: {error}", "download_timeout": "پاسخ {url} خیلی طول کشید ، منصرف شو.", "download_ssl_error": "خطای SSL هنگام اتصال به {url}", - "invalid_url": "اتصال به {url} انجام نشد ... شاید سرویس خاموش باشد یا در IPv4/IPv6 به درستی به اینترنت متصل نشده باشید.", + "invalid_url": "اتصال به {url} انجام نشد … شاید سرویس خاموش باشد یا در IPv4/IPv6 به درستی به اینترنت متصل نشده باشید.", "error_changing_file_permissions": "خطا هنگام تغییر مجوزهای {path}: {error}", "error_removing": "خطا هنگام حذف {path}: {error}", "error_writing_file": "خطا هنگام نوشتن فایل {file}: {error}", diff --git a/locales/fi.json b/locales/fi.json index 12a8a727..81a8ddc9 100644 --- a/locales/fi.json +++ b/locales/fi.json @@ -1,4 +1,4 @@ { "password": "Salasana", "logged_out": "Kirjauduttu ulos" -} +} \ No newline at end of file diff --git a/locales/fr.json b/locales/fr.json index 7c5723e1..9b3d01d2 100644 --- a/locales/fr.json +++ b/locales/fr.json @@ -4,11 +4,11 @@ "confirm": "Confirmez {prompt}", "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", - "error": "Erreur :", + "error": "Erreur :", "file_not_exist": "Le fichier '{path}' n'existe pas", - "folder_exists": "Le dossier existe déjà : '{path}'", + "folder_exists": "Le dossier existe déjà : '{path}'", "instance_already_running": "Une instance est déjà en cours d'exécution, merci d'attendre sa fin avant d'en lancer une autre.", - "invalid_argument": "Argument '{argument}' incorrect : {error}", + "invalid_argument": "Argument '{argument}' incorrect : {error}", "invalid_usage": "Utilisation erronée, utilisez --help pour accéder à l'aide", "logged_in": "Connecté", "logged_out": "Déconnecté", @@ -16,32 +16,32 @@ "operation_interrupted": "Opération interrompue", "password": "Mot de passe", "pattern_not_match": "Ne correspond pas au motif", - "root_required": "Vous devez être super-utilisateur pour exécuter cette action", + "root_required": "Vous devez avoir les droits d'administration pour exécuter cette action", "server_already_running": "Un serveur est déjà en cours d'exécution sur ce port", - "success": "Succès !", + "success": "Succès !", "unable_authenticate": "Impossible de vous authentifier", "unknown_group": "Le groupe '{group}' est inconnu", - "unknown_user": "L'utilisateur '{user}' est inconnu", + "unknown_user": "Le compte '{user}' est inconnu", "values_mismatch": "Les valeurs ne correspondent pas", - "warning": "Attention :", + "warning": "Attention :", "websocket_request_expected": "Une requête WebSocket est attendue", - "cannot_open_file": "Impossible d'ouvrir le fichier {file} (raison : {error})", - "cannot_write_file": "Ne peut pas écrire le fichier {file} (raison : {error})", - "unknown_error_reading_file": "Erreur inconnue en essayant de lire le fichier {file} (raison :{error})", - "corrupted_json": "Fichier JSON corrompu en lecture depuis {ressource} (raison : {error})", - "error_writing_file": "Erreur en écrivant le fichier {file} : {error}", - "error_removing": "Erreur lors de la suppression {path} : {error}", - "error_changing_file_permissions": "Erreur lors de la modification des autorisations pour {path} : {error}", - "invalid_url": "Impossible de se connecter à {url}... peut-être que le service est hors service/indisponible/interrompu, ou que vous n'êtes pas correctement connecté à Internet en IPv4/IPv6.", + "cannot_open_file": "Impossible d'ouvrir le fichier {file} (raison : {error})", + "cannot_write_file": "Ne peut pas écrire le fichier {file} (raison : {error})", + "unknown_error_reading_file": "Erreur inconnue en essayant de lire le fichier {file} (raison :{error})", + "corrupted_json": "Fichier JSON corrompu en lecture depuis {ressource} (raison : {error})", + "error_writing_file": "Erreur en écrivant le fichier {file} : {error}", + "error_removing": "Erreur lors de la suppression {path} : {error}", + "error_changing_file_permissions": "Erreur lors de la modification des autorisations pour {path} : {error}", + "invalid_url": "Impossible de se connecter à {url}... peut-être que le service est en panne ou que vous n'êtes pas correctement connecté à Internet en IPv4/IPv6.", "download_ssl_error": "Erreur SSL lors de la connexion à {url}", - "download_timeout": "{url} a pris trop de temps pour répondre : abandon.", - "download_unknown_error": "Erreur lors du téléchargement des données à partir de {url} : {error}", + "download_timeout": "{url} a pris trop de temps pour répondre : abandon.", + "download_unknown_error": "Erreur lors du téléchargement des données à partir de {url} : {error}", "download_bad_status_code": "{url} renvoie le code d'état {code}", - "corrupted_yaml": "Fichier YAML corrompu en lecture depuis {ressource} (raison : {error})", - "info": "Info :", - "corrupted_toml": "Fichier TOML corrompu en lecture depuis {ressource} (raison : {error})", + "corrupted_yaml": "Fichier YAML corrompu en lecture depuis {ressource} (raison : {error})", + "info": "Info :", + "corrupted_toml": "Fichier TOML corrompu en lecture depuis {ressource} (raison : {error})", "warn_the_user_about_waiting_lock": "Une autre commande YunoHost est actuellement en cours, nous attendons qu'elle se termine avant de démarrer celle là", "warn_the_user_about_waiting_lock_again": "Toujours en attente...", "warn_the_user_that_lock_is_acquired": "La commande précédente vient de se terminer, lancement de cette nouvelle commande", - "edit_text_question": "{}. Modifier ce texte ? [yN] : " -} \ No newline at end of file + "edit_text_question": "{}. Modifier ce texte ? [yN] : " +} diff --git a/locales/gl.json b/locales/gl.json index ed120952..8bfb5670 100644 --- a/locales/gl.json +++ b/locales/gl.json @@ -26,13 +26,13 @@ "not_logged_in": "Non iniciaches sesión", "logged_in": "Sesión iniciada", "warn_the_user_that_lock_is_acquired": "O outro comando rematou, agora executarase este", - "warn_the_user_about_waiting_lock_again": "Agardando...", + "warn_the_user_about_waiting_lock_again": "Agardando…", "warn_the_user_about_waiting_lock": "Estase executando outro comando de YunoHost neste intre, estamos agardando a que remate para executar este", "download_bad_status_code": "{url} devolveu o código de estado {code}", "download_unknown_error": "Erro ao descargar os datos desde {url}: {error}", "download_timeout": "{url} está tardando en responder, deixámolo.", "download_ssl_error": "Erro SSL ao conectar con {url}", - "invalid_url": "Fallou a conexión con {url} ... pode que o servizo esté caído, ou que non teñas conexión a Internet con IPv4/IPv6.", + "invalid_url": "Fallou a conexión con {url}... pode que o servizo estea caído, ou que non teñas conexión a Internet con IPv4/IPv6.", "error_changing_file_permissions": "Erro ao cambiar os permisos de {path}: {error}", "error_removing": "Erro ao eliminar {path}: {error}", "error_writing_file": "Erro ao escribir o ficheiro {file}: {error}", diff --git a/locales/he.json b/locales/he.json index 0967ef42..9e26dfee 100644 --- a/locales/he.json +++ b/locales/he.json @@ -1 +1 @@ -{} +{} \ No newline at end of file diff --git a/locales/id.json b/locales/id.json index dfd66b6b..4dacc72e 100644 --- a/locales/id.json +++ b/locales/id.json @@ -13,7 +13,7 @@ "error_removing": "Terjadi galat ketika menghapus {path}: {error}", "success": "Berhasil!", "warn_the_user_about_waiting_lock": "Perintah YunoHost lain sedang berjalan saat ini, kami sedang menunggu itu selesai sebelum menjalankan yang ini", - "warn_the_user_about_waiting_lock_again": "Masih menunggu...", + "warn_the_user_about_waiting_lock_again": "Masih menunggu…", "unable_authenticate": "Tidak dapat mengautentikasi", "warn_the_user_that_lock_is_acquired": "Perintah yang tadi baru saja selesai, akan memulai perintah ini", "server_already_running": "Sebuah peladen telah berjalan di porta tersebut", @@ -22,7 +22,7 @@ "values_mismatch": "Tidak sama", "cannot_write_file": "Tidak dapat menyimpan berkas {file} (alasan: {error})", "unknown_error_reading_file": "Galat yang tidak diketahui ketika membaca berkas {file} (alasan: {error})", - "invalid_url": "Gagal terhubung dengan {url} ... mungkin layanan tersebut sedang tidak berjalan atau Anda tidak terhubung ke internet di IPv4/IPv6.", + "invalid_url": "Gagal terhubung dengan {url} … mungkin layanan tersebut sedang tidak berjalan atau Anda tidak terhubung ke internet di IPv4/IPv6.", "download_timeout": "{url} memakan waktu yang lama untuk menjawab, menyerah.", "download_unknown_error": "Galat ketika mengunduh data dari {url}: {error}", "download_bad_status_code": "{url} menjawab dengan kode status {code}", @@ -43,4 +43,4 @@ "corrupted_yaml": "Pembacaan rusak untuk YAML {ressource} (alasan: {error})", "corrupted_toml": "Pembacaan rusak untuk TOML {ressource} (alasan: {error})", "corrupted_json": "Pembacaan rusak untuk JSON {ressource} (alasan: {error})" -} +} \ No newline at end of file diff --git a/locales/it.json b/locales/it.json index 4ce12abe..a7e9f82c 100644 --- a/locales/it.json +++ b/locales/it.json @@ -33,15 +33,15 @@ "error_writing_file": "Errore durante la scrittura del file {file}: {error}", "error_removing": "Errore durante la rimozione {path}: {error}", "error_changing_file_permissions": "Errore durante il cambio di permessi per {path}: {error}", - "invalid_url": "Fallita connessione a {url}... magari il servizio è down, o non sei connesso correttamente ad internet con IPv4/IPv6.", + "invalid_url": "Fallita connessione a {url}… magari il servizio è down, o non sei connesso correttamente ad internet con IPv4/IPv6.", "download_ssl_error": "Errore SSL durante la connessione a {url}", "download_timeout": "{url} ci ha messo troppo a rispondere, abbandonato.", "download_unknown_error": "Errore durante il download di dati da {url} : {error}", "download_bad_status_code": "{url} ha restituito il codice di stato {code}", "info": "Info:", "warn_the_user_that_lock_is_acquired": "L'altro comando è appena completato, ora avvio questo comando", - "warn_the_user_about_waiting_lock_again": "Sto ancora aspettando ...", + "warn_the_user_about_waiting_lock_again": "Sto ancora aspettando…", "warn_the_user_about_waiting_lock": "Un altro comando YunoHost è in esecuzione in questo momento, stiamo aspettando che finisca prima di eseguire questo", "corrupted_toml": "TOML corrotto da {ressource} (motivo: {error})", "edit_text_question": "{}. Modificare il testo? [yN]: " -} +} \ No newline at end of file diff --git a/locales/ja.json b/locales/ja.json index e55d18c3..f9f6e5ba 100644 --- a/locales/ja.json +++ b/locales/ja.json @@ -12,7 +12,7 @@ "download_unknown_error": "{url}からデータをダウンロードする際のエラー:{error}", "download_bad_status_code": "{url}は状態コード {code} を返しました", "warn_the_user_about_waiting_lock": "別のYunoHostコマンドが現在実行されているため、完了するのを待っています", - "warn_the_user_about_waiting_lock_again": "まだ待っています...", + "warn_the_user_about_waiting_lock_again": "まだ待っています…", "warn_the_user_that_lock_is_acquired": "他のコマンドが完了しました。このコマンドが開始されました", "file_not_exist": "ファイルが存在しません: '{path}'", "folder_exists": "フォルダは既に存在します: '{path}'", @@ -41,7 +41,7 @@ "error_writing_file": "ファイル{file}書き込み時のエラー:{error}", "error_removing": "{path}を削除するときのエラー:{error}", "error_changing_file_permissions": "{path}のアクセス許可変更時のエラー: {error}", - "invalid_url": "{url}に接続できませんでした...サービスがダウンしているか、IPv4 / IPv6でインターネットに正しく接続されていない可能性があります。", + "invalid_url": "{url}に接続できませんでした…サービスがダウンしているか、IPv4 / IPv6でインターネットに正しく接続されていない可能性があります。", "download_ssl_error": "{url}への接続時のSSLエラー", "download_timeout": "{url}は応答に時間がかかりすぎたため、あきらめました。" -} +} \ No newline at end of file diff --git a/locales/kab.json b/locales/kab.json index 1c276ae4..29179138 100644 --- a/locales/kab.json +++ b/locales/kab.json @@ -5,4 +5,4 @@ "logged_in": "Taqqneḍ", "logged_out": "Yeffeɣ", "authentication_required": "Tlaq tuqqna" -} +} \ No newline at end of file diff --git a/locales/ko.json b/locales/ko.json new file mode 100644 index 00000000..9e26dfee --- /dev/null +++ b/locales/ko.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/locales/lt.json b/locales/lt.json index 0967ef42..9e26dfee 100644 --- a/locales/lt.json +++ b/locales/lt.json @@ -1 +1 @@ -{} +{} \ No newline at end of file diff --git a/locales/nb_NO.json b/locales/nb_NO.json index 13e87fd8..b56a7ebd 100644 --- a/locales/nb_NO.json +++ b/locales/nb_NO.json @@ -7,7 +7,7 @@ "unknown_user": "Ukjent '{user}' bruker", "unknown_group": "Ukjent '{group}' gruppe", "unable_authenticate": "Kunne ikke identitetsbekrefte", - "success": "Vellykket.", + "success": "Vellykket!", "operation_interrupted": "Operasjon forstyrret", "not_logged_in": "Du er ikke innlogget", "logged_in": "Innlogget", diff --git a/locales/nl.json b/locales/nl.json index 0410d57b..e931d294 100644 --- a/locales/nl.json +++ b/locales/nl.json @@ -32,16 +32,16 @@ "error_writing_file": "Fout tijdens het schrijven van bestand {file}: {error}", "error_removing": "Fout tijdens het verwijderen van {path}: {error}", "error_changing_file_permissions": "Fout tijdens het veranderen van machtiging voor {path}: {error}", - "invalid_url": "Kon niet verbinden met {url} ... misschien is de dienst uit de lucht, of ben je niet goed verbonden via IPv4 of IPv6.", + "invalid_url": "Kon niet verbinden met {url}… misschien is de dienst uit de lucht, of ben je niet goed verbonden via IPv4 of IPv6.", "download_ssl_error": "SSL fout gedurende verbinding met {url}", "download_timeout": "{url} neemt te veel tijd om te antwoorden, we geven het op.", "download_unknown_error": "Fout tijdens het downloaden van data van {url}: {error}", "download_bad_status_code": "{url} stuurt status code {code}", "warn_the_user_that_lock_is_acquired": "De andere opdracht is zojuist voltooid; nu wordt nu deze opdracht gestart", - "warn_the_user_about_waiting_lock_again": "Nog steeds aan het wachten...", + "warn_the_user_about_waiting_lock_again": "Nog steeds aan het wachten…", "warn_the_user_about_waiting_lock": "Een ander YunoHost commando wordt uitgevoerd, we wachten tot het gedaan is alovrens dit te starten", "corrupted_toml": "Ongeldige TOML werd gelezen van {ressource} (reason: {error})", "corrupted_yaml": "Ongeldig YAML bestand op {ressource} (reden: {error})", "info": "Ter info:", "edit_text_question": "{}. Deze tekst bewerken ? [yN]: " -} +} \ No newline at end of file diff --git a/locales/oc.json b/locales/oc.json index 9835ea85..497a1f83 100644 --- a/locales/oc.json +++ b/locales/oc.json @@ -44,4 +44,4 @@ "warn_the_user_about_waiting_lock_again": "Encara en espèra…", "warn_the_user_that_lock_is_acquired": "l’autra comanda ven d’acabar, ara lançament d’aquesta comanda", "edit_text_question": "{}. Modificar aqueste tèxte ? [yN]: " -} +} \ No newline at end of file diff --git a/locales/pl.json b/locales/pl.json index 07395681..db5788c2 100644 --- a/locales/pl.json +++ b/locales/pl.json @@ -2,13 +2,13 @@ "logged_out": "Wylogowano", "password": "Hasło", "warn_the_user_that_lock_is_acquired": "Inne polecenie właśnie się zakończyło, teraz uruchamiam to polecenie", - "warn_the_user_about_waiting_lock_again": "Wciąż czekam...", + "warn_the_user_about_waiting_lock_again": "Wciąż czekam…", "warn_the_user_about_waiting_lock": "Kolejne polecenie YunoHost jest obecnie uruchomione, czekamy na jego zakończenie przed uruchomieniem tego", "download_bad_status_code": "{url} zwrócił kod stanu {code}", "download_unknown_error": "Błąd podczas pobierania danych z {url}: {error}", "download_timeout": "{url} potrzebował zbyt dużo czasu na odpowiedź, rezygnacja.", "download_ssl_error": "Błąd SSL podczas łączenia z {url}", - "invalid_url": "Nie udało się połączyć z {url}... być może strona nie jest dostępna, lub nie jesteś prawidłowo połączony z Internetem po IPv4/IPv6.", + "invalid_url": "Nie udało się połączyć z {url}… być może strona nie jest dostępna, lub nie jesteś prawidłowo połączony z Internetem po IPv4/IPv6.", "error_changing_file_permissions": "Błąd podczas zmiany uprawnień dla {path}: {error}", "error_removing": "Błąd podczas usuwania {path}: {error}", "error_writing_file": "Błąd podczas zapisywania pliku {file}: {error}", @@ -44,4 +44,4 @@ "authentication_required": "Wymagane uwierzytelnienie", "argument_required": "Argument „{argument}” jest wymagany", "edit_text_question": "{}. Zedytować ten tekst? [tN]: " -} +} \ No newline at end of file diff --git a/locales/pt.json b/locales/pt.json index 69962143..561f2788 100644 --- a/locales/pt.json +++ b/locales/pt.json @@ -39,9 +39,9 @@ "corrupted_json": "JSON corrompido lido do {ressource} (motivo: {error})", "corrupted_yaml": "YAML corrompido lido do {ressource} (motivo: {error})", "warn_the_user_that_lock_is_acquired": "O outro comando acabou de concluir, agora iniciando este comando", - "warn_the_user_about_waiting_lock_again": "Ainda esperando...", + "warn_the_user_about_waiting_lock_again": "Ainda esperando…", "warn_the_user_about_waiting_lock": "Outro comando YunoHost está sendo executado agora, estamos aguardando o término antes de executar este", "corrupted_toml": "TOML corrompido lido em {ressource} (motivo: {error})", "info": "Informações:", "edit_text_question": "{}. Editar este texto ? [yN]: " -} +} \ No newline at end of file diff --git a/locales/pt_BR.json b/locales/pt_BR.json index 0967ef42..9e26dfee 100644 --- a/locales/pt_BR.json +++ b/locales/pt_BR.json @@ -1 +1 @@ -{} +{} \ No newline at end of file diff --git a/locales/ru.json b/locales/ru.json index 7b629d1c..b4501027 100644 --- a/locales/ru.json +++ b/locales/ru.json @@ -28,7 +28,7 @@ "corrupted_yaml": "Повреждённой YAML получен от {ressource} (причина: {error})", "error_writing_file": "Ошибка при записи файла {file}: {error}", "error_removing": "Ошибка при удалении {path}: {error}", - "invalid_url": "Не удалось подключиться к {url} ... возможно этот сервис недоступен или вы не подключены к Интернету через IPv4/IPv6.", + "invalid_url": "Не удалось подключиться к {url}… возможно этот сервис недоступен или вы не подключены к Интернету через IPv4/IPv6.", "download_ssl_error": "Ошибка SSL при соединении с {url}", "download_timeout": "Превышено время ожидания ответа от {url}.", "download_unknown_error": "Ошибка при загрузке данных с {url} : {error}", @@ -36,7 +36,7 @@ "root_required": "Чтобы выполнить это действие, вы должны иметь права root", "corrupted_json": "Повреждённый json получен от {ressource} (причина: {error})", "warn_the_user_that_lock_is_acquired": "Другая команда только что завершилась, теперь запускается эта команда", - "warn_the_user_about_waiting_lock_again": "Все еще жду...", + "warn_the_user_about_waiting_lock_again": "Все еще жду…", "warn_the_user_about_waiting_lock": "Сейчас запускается еще одна команда YunoHost, мы ждем ее завершения, прежде чем запустить эту", "download_bad_status_code": "{url} вернул код состояния {code}", "error_changing_file_permissions": "Ошибка при изменении разрешений для {path}: {error}", @@ -44,4 +44,4 @@ "invalid_usage": "Неправильное использование, передайте --help, чтобы увидеть помощь", "info": "Информация:", "edit_text_question": "{}. Изменить этот текст? [yN]: " -} +} \ No newline at end of file diff --git a/locales/sk.json b/locales/sk.json index 2254917d..06acbc39 100644 --- a/locales/sk.json +++ b/locales/sk.json @@ -44,4 +44,4 @@ "warn_the_user_about_waiting_lock": "Práve prebieha iná operácia YunoHost, pred spustením čakáme na jej dokončenie", "warn_the_user_about_waiting_lock_again": "Stále čakáme…", "warn_the_user_that_lock_is_acquired": "Predchádzajúca operácia bola dokončená, teraz spúšťame túto" -} +} \ No newline at end of file diff --git a/locales/sl.json b/locales/sl.json index 0967ef42..9e26dfee 100644 --- a/locales/sl.json +++ b/locales/sl.json @@ -1 +1 @@ -{} +{} \ No newline at end of file diff --git a/locales/sv.json b/locales/sv.json index 005c68e1..e103b3aa 100644 --- a/locales/sv.json +++ b/locales/sv.json @@ -1,5 +1,5 @@ { - "warn_the_user_about_waiting_lock_again": "Väntar fortfarande …", + "warn_the_user_about_waiting_lock_again": "Väntar fortfarande…", "download_bad_status_code": "{url} svarade med statuskod {code}", "download_timeout": "Gav upp eftersom {url} tog för lång tid på sig att svara.", "download_ssl_error": "Ett SSL-fel påträffades vid anslutning till {url}", diff --git a/locales/te.json b/locales/te.json index 0967ef42..9e26dfee 100644 --- a/locales/te.json +++ b/locales/te.json @@ -1 +1 @@ -{} +{} \ No newline at end of file diff --git a/locales/tr.json b/locales/tr.json index ab503c73..61b0a80e 100644 --- a/locales/tr.json +++ b/locales/tr.json @@ -19,13 +19,13 @@ "warning": "Uyarı:", "websocket_request_expected": "WebSocket isteği gerekli", "warn_the_user_that_lock_is_acquired": "Diğer komut şimdi tamamlandı, şimdi bu komutu başlatıyor", - "warn_the_user_about_waiting_lock_again": "Hala bekliyor...", + "warn_the_user_about_waiting_lock_again": "Hala bekliyor…", "warn_the_user_about_waiting_lock": "Başka bir YunoHost komutu şu anda çalışıyor, bunu çalıştırmadan önce bitmesini bekliyoruz", "download_bad_status_code": "{url} döndürülen durum kodu {code}", "download_unknown_error": "{url} adresinden veri indirilirken hata oluştu: {error}", "download_timeout": "{url} yanıtlaması çok uzun sürdü, pes etti.", "download_ssl_error": "{url} ağına bağlanırken SSL hatası", - "invalid_url": "{url} bağlanılamadı... URL çalışmıyor olabilir veya IPv4/IPv6 internete düzgün bir şekilde bağlı değilsiniz.", + "invalid_url": "{url} bağlanılamadı… URL çalışmıyor olabilir veya IPv4/IPv6 internete düzgün bir şekilde bağlı değilsiniz.", "error_changing_file_permissions": "{path} için izinler değiştirilirken hata oluştu: {error}", "error_removing": "{path} kaldırılırken hata oluştu: {error}", "error_writing_file": "{file} dosyası yazılırken hata oluştu: {error}", @@ -44,4 +44,4 @@ "deprecated_command_alias": "'{prog} {old}' kullanımdan kaldırıldı ve gelecekte kaldırılacak, bunun yerine '{prog} {new}' kullanın", "deprecated_command": "'{prog} {command}' kullanımdan kaldırıldı ve gelecekte kaldırılacak", "edit_text_question": "{}. Bu metni düzenle ? [yN]: " -} +} \ No newline at end of file diff --git a/locales/uk.json b/locales/uk.json index 017feae9..8f91ffff 100644 --- a/locales/uk.json +++ b/locales/uk.json @@ -1,9 +1,9 @@ { "password": "Пароль", "logged_out": "Ви вийшли з системи", - "invalid_url": "Помилка з'єднання із {url}... можливо, служба не працює, або ви неправильно під'єднані до Інтернету в IPv4/IPv6.", + "invalid_url": "Помилка з'єднання із {url}… можливо, служба не працює, або ви неправильно під'єднані до Інтернету в IPv4/IPv6.", "warn_the_user_that_lock_is_acquired": "Інша команда щойно завершилася, тепер запускаємо цю команду", - "warn_the_user_about_waiting_lock_again": "Досі очікуємо...", + "warn_the_user_about_waiting_lock_again": "Досі очікуємо…", "warn_the_user_about_waiting_lock": "Зараз запускається ще одна команда YunoHost, ми чекаємо її завершення, перш ніж запустити цю", "download_bad_status_code": "{url} повернув код стану {code}", "download_unknown_error": "Помилка під час завантаження даних з {url}: {error}", diff --git a/maintenance/make_changelog.sh b/maintenance/make_changelog.sh new file mode 100644 index 00000000..6acf3a92 --- /dev/null +++ b/maintenance/make_changelog.sh @@ -0,0 +1,37 @@ +VERSION="11.2.1" +RELEASE="stable" +REPO=$(basename $(git rev-parse --show-toplevel)) +REPO_URL=$(git remote get-url origin) +ME=$(git config --get user.name) +EMAIL=$(git config --get user.email) + +LAST_RELEASE=$(git tag --list 'debian/11.*' --sort="v:refname" | tail -n 1) + +echo "$REPO ($VERSION) $RELEASE; urgency=low" +echo "" + +git log $LAST_RELEASE.. -n 10000 --first-parent --pretty=tformat:' - %b%s (%h)' \ +| sed -E "s&Merge .*#([0-9]+).*\$& \([#\1]\(http://github.com/YunoHost/$REPO/pull/\1\)\)&g" \ +| sed -E "/Co-authored-by: .* <.*>/d" \ +| grep -v "Translations update from Weblate" \ +| tac + +TRANSLATIONS=$(git log $LAST_RELEASE... -n 10000 --pretty=format:"%s" \ + | grep "Translated using Weblate" \ + | sed -E "s/Translated using Weblate \((.*)\)/\1/g" \ + | sort | uniq | tr '\n' ', ' | sed -e 's/,$//g' -e 's/,/, /g') +[[ -z "$TRANSLATIONS" ]] || echo " - [i18n] Translations updated for $TRANSLATIONS" + +echo "" +CONTRIBUTORS=$(git log -n10 --pretty=format:'%Cred%h%Creset %C(bold blue)(%an) %Creset%Cgreen(%cr)%Creset - %s %C(yellow)%d%Creset' --abbrev-commit $LAST_RELEASE... -n 10000 --pretty=format:"%an" \ + | sort | uniq | grep -v "$ME" | grep -v 'yunohost-bot' | grep -vi 'weblate' \ + | tr '\n' ', ' | sed -e 's/,$//g' -e 's/,/, /g') +[[ -z "$CONTRIBUTORS" ]] || echo " Thanks to all contributors <3 ! ($CONTRIBUTORS)" +echo "" +echo " -- $ME <$EMAIL> $(date -R)" +echo "" + + + +# PR links can be converted to regular texts using : sed -E 's@\[(#[0-9]*)\]\([^ )]*\)@\1@g' +# Or readded with sed -E 's@#([0-9]*)@[YunoHost#\1](https://github.com/yunohost/yunohost/pull/\1)@g' | sed -E 's@\((\w+)\)@([YunoHost/\1](https://github.com/yunohost/yunohost/commit/\1))@g' diff --git a/moulinette/actionsmap.py b/moulinette/actionsmap.py index fc93ed9f..211fcb15 100644 --- a/moulinette/actionsmap.py +++ b/moulinette/actionsmap.py @@ -106,7 +106,6 @@ class CommentParameter(_ExtraParameter): class AskParameter(_ExtraParameter): - """ Ask for the argument value if possible and needed. @@ -145,7 +144,6 @@ class AskParameter(_ExtraParameter): class PasswordParameter(AskParameter): - """ Ask for the password argument value if possible and needed. @@ -168,7 +166,6 @@ class PasswordParameter(AskParameter): class PatternParameter(_ExtraParameter): - """ Check if the argument value match a pattern. @@ -221,7 +218,6 @@ class PatternParameter(_ExtraParameter): class RequiredParameter(_ExtraParameter): - """ Check if a required argument is defined or not. @@ -261,7 +257,6 @@ extraparameters_list = [ class ExtraArgumentParser: - """ Argument validator and parser for the extra parameters. @@ -373,7 +368,6 @@ class ExtraArgumentParser: class ActionsMap: - """Validate and process actions defined into an actions map The actions map defines the features - and their usage - of an diff --git a/moulinette/authentication.py b/moulinette/authentication.py index bf2f76a3..40fdcbb0 100644 --- a/moulinette/authentication.py +++ b/moulinette/authentication.py @@ -11,7 +11,6 @@ logger = logging.getLogger("moulinette.authenticator") class BaseAuthenticator: - """Authenticator base representation Each authenticators must implement an Authenticator class derived diff --git a/moulinette/core.py b/moulinette/core.py index e83f716b..e5370c2c 100644 --- a/moulinette/core.py +++ b/moulinette/core.py @@ -18,7 +18,6 @@ def during_unittests_run(): class Translator: - """Internationalization class Provide an internationalization mechanism based on JSON files to @@ -173,7 +172,6 @@ class Translator: class Moulinette18n: - """Internationalization service for the moulinette Manage internationalization and access to the proper keys translation @@ -270,7 +268,6 @@ class MoulinetteAuthenticationError(MoulinetteError): class MoulinetteLock: - """Locker for a moulinette instance It provides a lock mechanism for a given moulinette instance. It can diff --git a/moulinette/interfaces/__init__.py b/moulinette/interfaces/__init__.py index 73d75f1e..7d9d3593 100644 --- a/moulinette/interfaces/__init__.py +++ b/moulinette/interfaces/__init__.py @@ -18,7 +18,6 @@ logger = logging.getLogger("moulinette.interface") class BaseActionsMapParser: - """Actions map's base Parser Each interfaces must implement an ActionsMapParser class derived @@ -147,7 +146,6 @@ class BaseActionsMapParser: class _ExtendedSubParsersAction(argparse._SubParsersAction): - """Subparsers with extended properties for argparse It provides the following additional properties at initialization, @@ -447,7 +445,6 @@ class PositionalsFirstHelpFormatter(argparse.HelpFormatter): class JSONExtendedEncoder(JSONEncoder): - """Extended JSON encoder Extend default JSON encoder to recognize more types and classes. It will diff --git a/moulinette/interfaces/api.py b/moulinette/interfaces/api.py index 3a3450be..977e9819 100644 --- a/moulinette/interfaces/api.py +++ b/moulinette/interfaces/api.py @@ -66,14 +66,12 @@ def filter_csrf(callback): class LogQueues(dict): - """Map of session ids to queue.""" pass class APIQueueHandler(logging.Handler): - """ A handler class which store logging records into a queue, to be used and retrieved from the API. @@ -109,7 +107,6 @@ class APIQueueHandler(logging.Handler): class _HTTPArgumentParser: - """Argument parser for HTTP requests Object for parsing HTTP requests into Python objects. It is based @@ -559,7 +556,6 @@ def format_for_response(content): class ActionsMapParser(BaseActionsMapParser): - """Actions map's Parser for the API Provide actions map parsing methods for a CLI usage. The parser for @@ -703,7 +699,6 @@ class ActionsMapParser(BaseActionsMapParser): class Interface: - """Application Programming Interface for the moulinette Initialize a HTTP server which serves the API connected to a given diff --git a/moulinette/interfaces/cli.py b/moulinette/interfaces/cli.py index 010f3346..2bc82ddc 100644 --- a/moulinette/interfaces/cli.py +++ b/moulinette/interfaces/cli.py @@ -208,7 +208,6 @@ def get_locale(): class TTYHandler(logging.StreamHandler): - """TTY log handler A handler class which prints logging records for a tty. The record is @@ -272,7 +271,6 @@ class TTYHandler(logging.StreamHandler): class ActionsMapParser(BaseActionsMapParser): - """Actions map's Parser for the CLI Provide actions map parsing methods for a CLI usage. The parser for @@ -444,7 +442,6 @@ class ActionsMapParser(BaseActionsMapParser): class Interface: - """Command-line Interface for the moulinette Initialize an interface connected to the standard input/output diff --git a/moulinette/utils/log.py b/moulinette/utils/log.py index be7eb6f3..b468699f 100644 --- a/moulinette/utils/log.py +++ b/moulinette/utils/log.py @@ -84,7 +84,6 @@ def getHandlersByClass(classinfo, limit=0): class MoulinetteLogger(Logger): - """Custom logger class Extend base Logger class to provide the SUCCESS custom log level with diff --git a/test/reformat_locales.py b/test/reformat_locales.py index 1807e756..b7020c85 100644 --- a/test/reformat_locales.py +++ b/test/reformat_locales.py @@ -24,8 +24,8 @@ godamn_spaces_of_hell = [ "\u2008", "\u2009", "\u200A", - "\u202f", - "\u202F", + # "\u202f", + # "\u202F", "\u3000", ] diff --git a/test/src/authenticators/dummy.py b/test/src/authenticators/dummy.py index 1d11a609..cef42c34 100644 --- a/test/src/authenticators/dummy.py +++ b/test/src/authenticators/dummy.py @@ -13,7 +13,6 @@ session_secret = random_ascii() class Authenticator(BaseAuthenticator): - """Dummy authenticator used for tests""" name = "dummy" diff --git a/test/src/authenticators/yoloswag.py b/test/src/authenticators/yoloswag.py index 7dc41fdc..f68122c9 100644 --- a/test/src/authenticators/yoloswag.py +++ b/test/src/authenticators/yoloswag.py @@ -13,7 +13,6 @@ session_secret = random_ascii() class Authenticator(BaseAuthenticator): - """Dummy authenticator used for tests""" name = "yoloswag"