]> Frank Brehm's Git Trees - pixelpark/puppetmaster-webhooks.git/commitdiff
Calling of compile-xlate-msgs.sh in checked out working directory if necessary
authorFrank Brehm <frank.brehm@pixelpark.com>
Thu, 3 Jan 2019 16:49:03 +0000 (17:49 +0100)
committerFrank Brehm <frank.brehm@pixelpark.com>
Thu, 3 Jan 2019 16:49:03 +0000 (17:49 +0100)
lib/webhooks/deploy.py
locale/de_DE/LC_MESSAGES/puppetmaster_webhooks.po
locale/en_US/LC_MESSAGES/puppetmaster_webhooks.po
locale/puppetmaster_webhooks.pot

index 6d867a09bee6bcd13c95ce24737f3084e8ead344..3c715262d2431a4474d762f4bab474a106f6f322 100644 (file)
@@ -14,6 +14,7 @@ import logging
 import textwrap
 import copy
 import pipes
+import pathlib
 
 # Third party modules
 
@@ -216,7 +217,8 @@ class WebhookDeployApp(BaseHookApp):
             self.error_data.append(msg)
             return True
 
-        return self.ensure_workingdir(parent_dir, workdir, branch)
+        self.ensure_workingdir(parent_dir, workdir, branch)
+        self.compile_i18n_msgs(os.path.join(parent_dir, workdir))
 
     # -------------------------------------------------------------------------
     def ensure_workingdir(self, parent_dir, workdir, branch=None):
@@ -256,6 +258,52 @@ class WebhookDeployApp(BaseHookApp):
         finally:
             os.chdir(cur_dir)
 
+    # -------------------------------------------------------------------------
+    def compile_i18n_msgs(self, workdir):
+
+        cur_dir = os.getcwd()
+
+        try:
+            os.chdir(workdir)
+
+            xlate_script = pathlib.Path('compile-xlate-msgs.sh')
+            if not xlate_script.exists():
+                if self.verbose > 2:
+                    LOG.debug("Script {!r} does not exists.".format(str(xlate_script)))
+                return
+            if not xlate_script.is_file():
+                LOG.warn(_("Script {!r} exists, but is not a regular file.").format(
+                    str(xlate_script)))
+                return
+            if not os.access(str(xlate_script), os.X_OK):
+                LOG.warn(_("Script {!r} exists, but is not executable..").format(
+                    str(xlate_script)))
+                return
+
+            script_abs = str(xlate_script.resolve())
+            LOG.info(_("Compiling language catalogues by calling {!r} ...").format(
+                str(xlate_script)))
+            cmd = [script_abs]
+            proc = self.handler.call(cmd, sudo=self.do_sudo)
+
+            if proc.stdout:
+                msg = _("Output:") + "\n{}".format(proc.stdout)
+                self.print_out(msg)
+            else:
+                LOG.debug("No output.")
+
+            if proc.stderr:
+                cmd_str = ' '.join(map(lambda x: pipes.quote(x), proc.args))
+                msg = _("Error messages on {c!r}:\n{e}").format(c=cmd_str, e=proc.stderr)
+                msg_rc = _("Returncode was {}.").format(proc.returncode)
+                self.print_out(msg)
+                if proc.returncode:
+                    self.print_out(msg_rc)
+                    self.error_data.append(msg)
+                    self.error_data.append(msg_rc)
+
+        finally:
+            os.chdir(cur_dir)
 
 # =============================================================================
 if __name__ == "__main__":
index 90cfae58e927e84e453cfb437e7906f7b819476d..7acc71bb81165dc1559e1c132d0ee84a56bba535 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: puppetmaster_webhooks 1.3.1\n"
 "Report-Msgid-Bugs-To: frank.brehm@pixelpark.com\n"
-"POT-Creation-Date: 2019-01-03 14:03+0100\n"
+"POT-Creation-Date: 2019-01-03 17:46+0100\n"
 "PO-Revision-Date: 2019-01-03 14:12+0100\n"
 "Last-Translator: Frank Brehm <frank.brehm@pixelpark.com>\n"
 "Language: de_DE\n"
@@ -18,19 +18,19 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: Babel 2.6.0\n"
 
-#: lib/webhooks/base_app.py:91 lib/webhooks/base_app.py:1046
+#: lib/webhooks/base_app.py:91 lib/webhooks/base_app.py:1043
 msgid "Data directory {!r} does not exists."
 msgstr "Das Datenverzeichnis {!r} existiert nicht."
 
-#: lib/webhooks/base_app.py:95 lib/webhooks/base_app.py:1050
+#: lib/webhooks/base_app.py:95 lib/webhooks/base_app.py:1047
 msgid "Path to data directory {!r} is not a directory."
 msgstr "Der Pfad zum Datenverzeichnis {!r} ist kein Verzeichnis."
 
-#: lib/webhooks/base_app.py:107 lib/webhooks/base_app.py:795
+#: lib/webhooks/base_app.py:107 lib/webhooks/base_app.py:792
 msgid "Logging directory {!r} does not exists."
 msgstr "Das Log-Verzeichnis {!r} existiert nicht."
 
-#: lib/webhooks/base_app.py:111 lib/webhooks/base_app.py:801
+#: lib/webhooks/base_app.py:111 lib/webhooks/base_app.py:798
 msgid "Path to logging directory {!r} is not a directory."
 msgstr "Der Pfad zum Log-Verzeichnis {!r} ist kein Verzeichnis."
 
@@ -74,15 +74,19 @@ msgstr "Erzwingt ein Verhalten des Skripts, als wenn es als CGI-Skript aufgerufe
 msgid "An optional query string like on HTTP GET requests."
 msgstr "Ein optionaler Abfrage-String wie bei einem HTTP-GET-Request."
 
-#: lib/webhooks/base_app.py:616
+#: lib/webhooks/base_app.py:575 lib/webhooks/r10k.py:100 lib/webhooks/r10k.py:110
+msgid "Command {!r} not found."
+msgstr "Das Kommando {!r} wurde nicht gefunden."
+
+#: lib/webhooks/base_app.py:613
 msgid "Trying to read config from {!r} ..."
 msgstr "Versuche Konfiguration aus {!r} zu lesen ⋯"
 
-#: lib/webhooks/base_app.py:620
+#: lib/webhooks/base_app.py:617
 msgid "Reading config from {!r} ..."
 msgstr "Lese Konfiguration aus {!r} ⋯"
 
-#: lib/webhooks/base_app.py:625
+#: lib/webhooks/base_app.py:622
 msgid ""
 "Read config:\n"
 "{}"
@@ -90,103 +94,103 @@ msgstr ""
 "Gelesene Konfiguration:\n"
 "{}"
 
-#: lib/webhooks/base_app.py:638
+#: lib/webhooks/base_app.py:635
 msgid "Configuration error"
 msgstr "Konfigurationsfehler"
 
-#: lib/webhooks/base_app.py:647
+#: lib/webhooks/base_app.py:644
 msgid "Wrong verbose level {v!d} in file {f!r}, must be >= 0"
 msgstr "Falsches Ausführlichkeitsniveau {v!d} in Datei {f!r}, es muss größer als oder gleich Null sein."
 
-#: lib/webhooks/base_app.py:650
+#: lib/webhooks/base_app.py:647
 msgid "Wrong verbose level {v!r} in file {f!r}: {e}"
 msgstr "Falsches Ausführlichkeitsniveau {v!r}n Datei {f!r}: {e}"
 
-#: lib/webhooks/base_app.py:665
+#: lib/webhooks/base_app.py:662
 msgid "Logging directory {p!r} in file {f!r} must be an absolute path."
 msgstr "Das Log-Verzeichnis {p!r} in Datei {f!r} muss ein absoluter Pfad sein."
 
-#: lib/webhooks/base_app.py:674
+#: lib/webhooks/base_app.py:671
 msgid "Default parent directory {p!r} in file {f!r} must be an absolute path."
 msgstr "Das Vorgabe-Parent-Verzeichnis {p!r} in Datei {f!r} muss ein absoluter Pfad sein."
 
-#: lib/webhooks/base_app.py:787
+#: lib/webhooks/base_app.py:784
 msgid "Initialization error"
 msgstr "Initialisierungsfehler"
 
-#: lib/webhooks/base_app.py:807
+#: lib/webhooks/base_app.py:804
 msgid "Logging directory {!r} is not writeable."
 msgstr "In das Log-Verzeichnis {!r} kann nicht geschrieben werden."
 
-#: lib/webhooks/base_app.py:822
+#: lib/webhooks/base_app.py:819
 msgid "Could not open error logfile {f!r}: {e}"
 msgstr "Konnte Fehler-Logdatei {f!r} nicht öffnen: {e}"
 
-#: lib/webhooks/base_app.py:858
+#: lib/webhooks/base_app.py:855
 msgid "Python CGI is running."
 msgstr "Python-CGI-Skript wird ausgeführt."
 
-#: lib/webhooks/base_app.py:891 lib/webhooks/base_app.py:896
+#: lib/webhooks/base_app.py:888 lib/webhooks/base_app.py:893
 msgid "Got a {cn} performing {a}: {e}"
 msgstr "Hab einen {cn} bei der Ausführung von {a} erhalten: {e}"
 
-#: lib/webhooks/base_app.py:902
+#: lib/webhooks/base_app.py:899
 msgid "Got a {cn} reading input data as JSON: {e}"
 msgstr "Hab einen {cn} beim Lesen der Eingabedaten als JSON erhalten: {e}"
 
-#: lib/webhooks/base_app.py:903
+#: lib/webhooks/base_app.py:900
 msgid "Input data: {!r}"
 msgstr "Eingabedaten: {!r}"
 
-#: lib/webhooks/base_app.py:917
+#: lib/webhooks/base_app.py:914
 msgid "Executing {} ..."
 msgstr "Führe {} aus ⋯"
 
-#: lib/webhooks/base_app.py:996
+#: lib/webhooks/base_app.py:993
 msgid "Project {!r}: Received special characters in module name"
 msgstr "Projekt {!r}: Spezialzeichen in Modulnamen erhalten"
 
-#: lib/webhooks/base_app.py:1021
+#: lib/webhooks/base_app.py:1018
 msgid "Last commit by {n!r} <{m}> at {d}."
 msgstr "Letzter Commit durch {n!r} <{m}> am {d}."
 
-#: lib/webhooks/base_app.py:1032
+#: lib/webhooks/base_app.py:1029
 msgid "Executing webhook {a!r} for Git SSH URL {u!r}, branch {b!r}."
 msgstr "Führe Webhook {a!r} für Git-SSH-URL {u!r}, Branch {b!r}, aus."
 
-#: lib/webhooks/base_app.py:1054
+#: lib/webhooks/base_app.py:1051
 msgid "Data directory {!r} is not writeable."
 msgstr "Im Datenverzeichnis {!r} kann nicht geschrieben werden."
 
-#: lib/webhooks/base_app.py:1070
+#: lib/webhooks/base_app.py:1067
 msgid "Error while processing {!r} project:"
 msgid_plural "Errors while processing {!r} project:"
 msgstr[0] "Fehler bei der Verarbeitung des {!r}-Projektes:"
 msgstr[1] "Fehler bei der Verarbeitung des {!r}-Projektes:"
 
-#: lib/webhooks/base_app.py:1074
+#: lib/webhooks/base_app.py:1071
 msgid "Puppetmaster deploy error for project {!r}"
 msgid_plural "Puppetmaster deploy errors for project {!r}"
 msgstr[0] "Puppetmaster-Deploy-Fehler für das Projekt {!r}"
 msgstr[1] "Puppetmaster-Deploy-Fehler für das Projekt {!r}"
 
-#: lib/webhooks/base_app.py:1079
+#: lib/webhooks/base_app.py:1076
 msgid "Error while processing {!r}:"
 msgid_plural "Errors while processing {!r}:"
 msgstr[0] "Fehler bei der Ausführung von {!r}:"
 msgstr[1] "Fehler bei der Ausführung von {!r}:"
 
-#: lib/webhooks/base_app.py:1083
+#: lib/webhooks/base_app.py:1080
 msgid "Puppetmaster error processing {!r}"
 msgid_plural "Puppetmaster errors processing {!r}"
 msgstr[0] "Puppetmaster-Fehler bei der Ausführung von {!r}"
 msgstr[1] "Puppetmaster-Fehler bei der Ausführung von {!r}"
 
-#: lib/webhooks/base_app.py:1089
+#: lib/webhooks/base_app.py:1086
 msgid "Cheers"
 msgstr "Grüße"
 
-#: lib/webhooks/base_app.py:1107
+#: lib/webhooks/base_app.py:1104
 msgid ""
 "Sending the following mail to {r!r} via {s}:{p}:\n"
 "{m}"
@@ -194,7 +198,7 @@ msgstr ""
 "Verschicken der folgenden Mail an {r!r} via {s}:{p}:\n"
 "{m}"
 
-#: lib/webhooks/base_app.py:1111
+#: lib/webhooks/base_app.py:1108
 msgid ""
 "Sending a mail to {r!r} via {s}:{p}:\n"
 "{e}"
@@ -202,15 +206,15 @@ msgstr ""
 "Verschicken einer Mail an {r!r} via {s}:{p}:\n"
 "{e}"
 
-#: lib/webhooks/base_app.py:1116
+#: lib/webhooks/base_app.py:1113
 msgid "It's undesired to send error mails."
 msgstr "Das Versenden von Fehler-Mails ist nicht gewünscht."
 
-#: lib/webhooks/base_app.py:1120
+#: lib/webhooks/base_app.py:1117
 msgid "Simulation mode, don't sending mail."
 msgstr "Simulations-Modus, kein Versenden von Mails."
 
-#: lib/webhooks/base_app.py:1138
+#: lib/webhooks/base_app.py:1135
 msgid ""
 "Errors on sending error message for project {pr!r} to {r!r} via {s}:{p}:\n"
 "{e}"
@@ -218,7 +222,7 @@ msgstr ""
 "Fehler beim Versenden der Fehlermail für das Projekt {pr!r} an {r!r} via {s}:{p}:\n"
 "{e}"
 
-#: lib/webhooks/base_app.py:1144
+#: lib/webhooks/base_app.py:1141
 msgid ""
 "Errors on sending error message for {a!r} to {r!r} via {s}:{p}:\n"
 "{e}"
@@ -226,46 +230,47 @@ msgstr ""
 "Fehler beim Versenden der Fehlermail für {a!r} an {r!r} via {s}:{p}:\n"
 "{e}"
 
-#: lib/webhooks/base_app.py:1159
+#: lib/webhooks/base_app.py:1156
 msgid "Cache file {!r} not found."
 msgstr "Cache-Datei {!r} nicht gefunden."
 
-#: lib/webhooks/base_app.py:1163
+#: lib/webhooks/base_app.py:1160
 msgid "Cache file {!r} not readable."
 msgstr "Cache-Datei {!r} nicht lesbar."
 
-#: lib/webhooks/base_app.py:1194
+#: lib/webhooks/base_app.py:1191
 msgid "Could not evaluate content of {f!r}: {e}"
 msgstr "Konnte den Inhalt von {f!r} nicht auswerten: {e}"
 
-#: lib/webhooks/deploy.py:47
+#: lib/webhooks/deploy.py:48
 msgid "Receives push events as JSON-Data and synchronizes the local repository."
 msgstr ""
 "Empfängt Push-Ereignisse als JSON-Data und synchronisiert das entsprechende lokale "
 "Arbeitsverzeichnis mit dem Repository."
 
-#: lib/webhooks/deploy.py:178
+#: lib/webhooks/deploy.py:179
 msgid "Could not find a definition for project {!r}."
 msgstr "Konnte keine Definition für das Projekt {!r} finden."
 
-#: lib/webhooks/deploy.py:201
+#: lib/webhooks/deploy.py:202
 msgid "Deploying working directory {f!r} for project {p!r} ..."
 msgstr "Aktualisiere Arbeitsverzeichnis {f!r} für das Projekt {p!r} ⋯"
 
-#: lib/webhooks/deploy.py:205
+#: lib/webhooks/deploy.py:206
 msgid "Parent directory {d!r} of project {p!r} does not exists."
 msgstr "Das übergeordnete Verzeichnis {d!r} des Projekts {p!r} existiert nicht."
 
-#: lib/webhooks/deploy.py:212
+#: lib/webhooks/deploy.py:213
 msgid "Path for parent directory {d!r} for project {p!r} is not a directory."
 msgstr "Der Pfad zum übergeordneten Verzeichnis {d!r} des Projekts {p!r} ist kein Verzeichnis."
 
-#: lib/webhooks/deploy.py:241 lib/webhooks/r10k.py:263 lib/webhooks/r10k.py:272
-#: lib/webhooks/r10k.py:302 lib/webhooks/r10k.py:345
+#: lib/webhooks/deploy.py:243 lib/webhooks/deploy.py:290 lib/webhooks/r10k.py:273
+#: lib/webhooks/r10k.py:282 lib/webhooks/r10k.py:312 lib/webhooks/r10k.py:355
 msgid "Output:"
 msgstr "Ausgabe:"
 
-#: lib/webhooks/deploy.py:248 lib/webhooks/r10k.py:309 lib/webhooks/r10k.py:352
+#: lib/webhooks/deploy.py:250 lib/webhooks/deploy.py:297 lib/webhooks/r10k.py:319
+#: lib/webhooks/r10k.py:362
 msgid ""
 "Error messages on {c!r}:\n"
 "{e}"
@@ -273,10 +278,23 @@ msgstr ""
 "Fehlermeldungen von {c!r}:\n"
 "{e}"
 
-#: lib/webhooks/deploy.py:249 lib/webhooks/r10k.py:310 lib/webhooks/r10k.py:353
+#: lib/webhooks/deploy.py:251 lib/webhooks/deploy.py:298 lib/webhooks/r10k.py:320
+#: lib/webhooks/r10k.py:363
 msgid "Returncode was {}."
 msgstr "Rückgabewert war {}."
 
+#: lib/webhooks/deploy.py:275
+msgid "Script {!r} exists, but is not a regular file."
+msgstr "Das Skript {!r} existiert, ist aber keine reguläre Datei."
+
+#: lib/webhooks/deploy.py:279
+msgid "Script {!r} exists, but is not executable.."
+msgstr "Das Skript {!r} existiert, ist aber nicht ausführbar."
+
+#: lib/webhooks/deploy.py:284
+msgid "Compiling language catalogues by calling {!r} ..."
+msgstr "Kompiliere Sprachkataloge durch Aufruf von {!r} ⋯"
+
 #: lib/webhooks/get_forge_modules.py:84
 msgid ""
 "Collects information about all used Puppet Modules from {url!r} and cache those information in "
@@ -317,7 +335,7 @@ msgstr "Lese Metadaten-Dateien von Umgebung {!r} ⋯"
 msgid "Got no module info from directory {!r}."
 msgstr "Keine Modul-Informationen aus dem Verzeichnis {!r} erhalten."
 
-#: lib/webhooks/get_forge_modules.py:296 lib/webhooks/r10k.py:122
+#: lib/webhooks/get_forge_modules.py:296 lib/webhooks/r10k.py:126
 msgid "Directory {!r} does not exists."
 msgstr "Das Verzeichnis {!r} existiert nicht."
 
@@ -549,71 +567,73 @@ msgstr "Das Puppetfile {!r} kann nicht gelesen werden."
 msgid "Receives push events as JSON-Data and deploys it with r10k."
 msgstr "Erhält Push-Ereignisse als JSON-Daten und verteilt diese mittels r10k."
 
-#: lib/webhooks/r10k.py:116
+#: lib/webhooks/r10k.py:118
 msgid "Puppetmaster SSL directory {!r} is not an absolute path name."
 msgstr "Das Puppetmaster-SSL-Verzeichnis {!r} ist kein absoluter Pfad."
 
-#: lib/webhooks/r10k.py:126
+#: lib/webhooks/r10k.py:129 lib/webhooks/r10k.py:141
 msgid "Directory {!r} is read protected, cannot check existence of cert files."
-msgstr "Das Verzeichnis {!r} ist lesegeschützt, kann deshalb die Existenz der Zertifikats-Dateien nicht überprüfen."
+msgstr ""
+"Das Verzeichnis {!r} ist lesegeschützt, kann deshalb die Existenz der Zertifikats-Dateien nicht "
+"überprüfen."
 
-#: lib/webhooks/r10k.py:132
+#: lib/webhooks/r10k.py:137
 msgid "Puppetmaster SSL directory {!r} does not exists."
 msgstr "Das Puppetmaster-SSL-Verzeichnis {!r} existiert nicht."
 
-#: lib/webhooks/r10k.py:146
+#: lib/webhooks/r10k.py:156
 msgid "File {!r} does not exists."
 msgstr "Die Datei {!r} existiert nicht."
 
-#: lib/webhooks/r10k.py:149
+#: lib/webhooks/r10k.py:159
 msgid "File {!r} is not readable."
 msgstr "Die Datei {!r} kann nicht gelesen werden."
 
-#: lib/webhooks/r10k.py:168
+#: lib/webhooks/r10k.py:178
 msgid "Invalid port {p!r} for puppetmaster API in {f!r} found: {e}"
 msgstr "Ungültige Portnummer {p!r} für die Puppetmaster-API in {f!r} gefunden: {e}"
 
-#: lib/webhooks/r10k.py:185
+#: lib/webhooks/r10k.py:195
 msgid "Current locale is: {lo!r}, current LANG is {la!r}."
 msgstr "Aktuelles Gebietsschema ist: {lo!r}, die aktuelle Sprache ist: {la!r}."
 
-#: lib/webhooks/r10k.py:199
+#: lib/webhooks/r10k.py:209
 msgid "Executing {!r} was not successful."
 msgstr "Die Ausführung von {!r} war nicht erfolgreich."
 
-#: lib/webhooks/r10k.py:204
+#: lib/webhooks/r10k.py:214
 msgid "{!r} was not successful."
 msgstr "{!r} war nicht erfolgreich."
 
-#: lib/webhooks/r10k.py:213
+#: lib/webhooks/r10k.py:223
 msgid "No environment defined."
 msgstr "Keine Umgebung definiert."
 
-#: lib/webhooks/r10k.py:217
+#: lib/webhooks/r10k.py:227
 msgid "Environment directory {!r} does not exists."
 msgstr "Das Umgebungs-Verzeichnis {!r} existiert nicht."
 
-#: lib/webhooks/r10k.py:220
+#: lib/webhooks/r10k.py:230
 msgid "Clearing environment cache for environment {e!r} on {h!r}."
 msgstr "Lösche Umgebungs-Cache für die Umgebung {e!r} auf {h!r}."
 
-#: lib/webhooks/r10k.py:243
+#: lib/webhooks/r10k.py:253
 msgid "Simulation mode, don't requesting URL."
 msgstr "Simulations-Modus, frage keine URL ab."
 
-#: lib/webhooks/r10k.py:265 lib/webhooks/r10k.py:274 lib/webhooks/r10k.py:305 lib/webhooks/r10k.py:348
+#: lib/webhooks/r10k.py:275 lib/webhooks/r10k.py:284 lib/webhooks/r10k.py:315 lib/webhooks/r10k.py:358
 msgid "No output."
 msgstr "Keine Ausgabe."
 
-#: lib/webhooks/r10k.py:270
+#: lib/webhooks/r10k.py:280
 msgid "Got status code: {}."
 msgstr "Erhaltener Statuscode: {}"
 
-#: lib/webhooks/r10k.py:284
+#: lib/webhooks/r10k.py:294
 msgid "Generating Puppet types for environment {e!r} on {h!r}."
 msgstr "Generiere Puppet-Typen für die Umgebung {e!r} auf {h!r}."
 
-#: lib/webhooks/r10k.py:323
+#: lib/webhooks/r10k.py:333
 msgid "Deploying r10k environment {e!r} on {h!r}."
 msgstr "Rolle r10k-Umgebung {e!r} auf {h!r} aus."
 
index 92c98ae51fbd4a35ca2d8538cf0a124038454849..29ef3786a35e9f1e40e73e7bff469d13450e3514 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: puppetmaster_webhooks 1.3.1\n"
 "Report-Msgid-Bugs-To: frank.brehm@pixelpark.com\n"
-"POT-Creation-Date: 2019-01-03 14:03+0100\n"
+"POT-Creation-Date: 2019-01-03 17:46+0100\n"
 "PO-Revision-Date: 2018-12-28 09:57+0100\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language: en_US\n"
@@ -18,19 +18,19 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: Babel 2.6.0\n"
 
-#: lib/webhooks/base_app.py:91 lib/webhooks/base_app.py:1046
+#: lib/webhooks/base_app.py:91 lib/webhooks/base_app.py:1043
 msgid "Data directory {!r} does not exists."
 msgstr ""
 
-#: lib/webhooks/base_app.py:95 lib/webhooks/base_app.py:1050
+#: lib/webhooks/base_app.py:95 lib/webhooks/base_app.py:1047
 msgid "Path to data directory {!r} is not a directory."
 msgstr ""
 
-#: lib/webhooks/base_app.py:107 lib/webhooks/base_app.py:795
+#: lib/webhooks/base_app.py:107 lib/webhooks/base_app.py:792
 msgid "Logging directory {!r} does not exists."
 msgstr ""
 
-#: lib/webhooks/base_app.py:111 lib/webhooks/base_app.py:801
+#: lib/webhooks/base_app.py:111 lib/webhooks/base_app.py:798
 msgid "Path to logging directory {!r} is not a directory."
 msgstr ""
 
@@ -74,195 +74,213 @@ msgstr ""
 msgid "An optional query string like on HTTP GET requests."
 msgstr ""
 
-#: lib/webhooks/base_app.py:616
+#: lib/webhooks/base_app.py:575 lib/webhooks/r10k.py:100 lib/webhooks/r10k.py:110
+msgid "Command {!r} not found."
+msgstr ""
+
+#: lib/webhooks/base_app.py:613
 msgid "Trying to read config from {!r} ..."
 msgstr ""
 
-#: lib/webhooks/base_app.py:620
+#: lib/webhooks/base_app.py:617
 msgid "Reading config from {!r} ..."
 msgstr ""
 
-#: lib/webhooks/base_app.py:625
+#: lib/webhooks/base_app.py:622
 msgid ""
 "Read config:\n"
 "{}"
 msgstr ""
 
-#: lib/webhooks/base_app.py:638
+#: lib/webhooks/base_app.py:635
 msgid "Configuration error"
 msgstr ""
 
-#: lib/webhooks/base_app.py:647
+#: lib/webhooks/base_app.py:644
 msgid "Wrong verbose level {v!d} in file {f!r}, must be >= 0"
 msgstr ""
 
-#: lib/webhooks/base_app.py:650
+#: lib/webhooks/base_app.py:647
 msgid "Wrong verbose level {v!r} in file {f!r}: {e}"
 msgstr ""
 
-#: lib/webhooks/base_app.py:665
+#: lib/webhooks/base_app.py:662
 msgid "Logging directory {p!r} in file {f!r} must be an absolute path."
 msgstr ""
 
-#: lib/webhooks/base_app.py:674
+#: lib/webhooks/base_app.py:671
 msgid "Default parent directory {p!r} in file {f!r} must be an absolute path."
 msgstr ""
 
-#: lib/webhooks/base_app.py:787
+#: lib/webhooks/base_app.py:784
 msgid "Initialization error"
 msgstr ""
 
-#: lib/webhooks/base_app.py:807
+#: lib/webhooks/base_app.py:804
 msgid "Logging directory {!r} is not writeable."
 msgstr ""
 
-#: lib/webhooks/base_app.py:822
+#: lib/webhooks/base_app.py:819
 msgid "Could not open error logfile {f!r}: {e}"
 msgstr ""
 
-#: lib/webhooks/base_app.py:858
+#: lib/webhooks/base_app.py:855
 msgid "Python CGI is running."
 msgstr ""
 
-#: lib/webhooks/base_app.py:891 lib/webhooks/base_app.py:896
+#: lib/webhooks/base_app.py:888 lib/webhooks/base_app.py:893
 msgid "Got a {cn} performing {a}: {e}"
 msgstr ""
 
-#: lib/webhooks/base_app.py:902
+#: lib/webhooks/base_app.py:899
 msgid "Got a {cn} reading input data as JSON: {e}"
 msgstr ""
 
-#: lib/webhooks/base_app.py:903
+#: lib/webhooks/base_app.py:900
 msgid "Input data: {!r}"
 msgstr ""
 
-#: lib/webhooks/base_app.py:917
+#: lib/webhooks/base_app.py:914
 msgid "Executing {} ..."
 msgstr ""
 
-#: lib/webhooks/base_app.py:996
+#: lib/webhooks/base_app.py:993
 msgid "Project {!r}: Received special characters in module name"
 msgstr ""
 
-#: lib/webhooks/base_app.py:1021
+#: lib/webhooks/base_app.py:1018
 msgid "Last commit by {n!r} <{m}> at {d}."
 msgstr ""
 
-#: lib/webhooks/base_app.py:1032
+#: lib/webhooks/base_app.py:1029
 msgid "Executing webhook {a!r} for Git SSH URL {u!r}, branch {b!r}."
 msgstr ""
 
-#: lib/webhooks/base_app.py:1054
+#: lib/webhooks/base_app.py:1051
 msgid "Data directory {!r} is not writeable."
 msgstr ""
 
-#: lib/webhooks/base_app.py:1070
+#: lib/webhooks/base_app.py:1067
 msgid "Error while processing {!r} project:"
 msgid_plural "Errors while processing {!r} project:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: lib/webhooks/base_app.py:1074
+#: lib/webhooks/base_app.py:1071
 msgid "Puppetmaster deploy error for project {!r}"
 msgid_plural "Puppetmaster deploy errors for project {!r}"
 msgstr[0] ""
 msgstr[1] ""
 
-#: lib/webhooks/base_app.py:1079
+#: lib/webhooks/base_app.py:1076
 msgid "Error while processing {!r}:"
 msgid_plural "Errors while processing {!r}:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: lib/webhooks/base_app.py:1083
+#: lib/webhooks/base_app.py:1080
 msgid "Puppetmaster error processing {!r}"
 msgid_plural "Puppetmaster errors processing {!r}"
 msgstr[0] ""
 msgstr[1] ""
 
-#: lib/webhooks/base_app.py:1089
+#: lib/webhooks/base_app.py:1086
 msgid "Cheers"
 msgstr ""
 
-#: lib/webhooks/base_app.py:1107
+#: lib/webhooks/base_app.py:1104
 msgid ""
 "Sending the following mail to {r!r} via {s}:{p}:\n"
 "{m}"
 msgstr ""
 
-#: lib/webhooks/base_app.py:1111
+#: lib/webhooks/base_app.py:1108
 msgid ""
 "Sending a mail to {r!r} via {s}:{p}:\n"
 "{e}"
 msgstr ""
 
-#: lib/webhooks/base_app.py:1116
+#: lib/webhooks/base_app.py:1113
 msgid "It's undesired to send error mails."
 msgstr ""
 
-#: lib/webhooks/base_app.py:1120
+#: lib/webhooks/base_app.py:1117
 msgid "Simulation mode, don't sending mail."
 msgstr ""
 
-#: lib/webhooks/base_app.py:1138
+#: lib/webhooks/base_app.py:1135
 msgid ""
 "Errors on sending error message for project {pr!r} to {r!r} via {s}:{p}:\n"
 "{e}"
 msgstr ""
 
-#: lib/webhooks/base_app.py:1144
+#: lib/webhooks/base_app.py:1141
 msgid ""
 "Errors on sending error message for {a!r} to {r!r} via {s}:{p}:\n"
 "{e}"
 msgstr ""
 
-#: lib/webhooks/base_app.py:1159
+#: lib/webhooks/base_app.py:1156
 msgid "Cache file {!r} not found."
 msgstr ""
 
-#: lib/webhooks/base_app.py:1163
+#: lib/webhooks/base_app.py:1160
 msgid "Cache file {!r} not readable."
 msgstr ""
 
-#: lib/webhooks/base_app.py:1194
+#: lib/webhooks/base_app.py:1191
 msgid "Could not evaluate content of {f!r}: {e}"
 msgstr ""
 
-#: lib/webhooks/deploy.py:47
+#: lib/webhooks/deploy.py:48
 msgid "Receives push events as JSON-Data and synchronizes the local repository."
 msgstr ""
 
-#: lib/webhooks/deploy.py:178
+#: lib/webhooks/deploy.py:179
 msgid "Could not find a definition for project {!r}."
 msgstr ""
 
-#: lib/webhooks/deploy.py:201
+#: lib/webhooks/deploy.py:202
 msgid "Deploying working directory {f!r} for project {p!r} ..."
 msgstr ""
 
-#: lib/webhooks/deploy.py:205
+#: lib/webhooks/deploy.py:206
 msgid "Parent directory {d!r} of project {p!r} does not exists."
 msgstr ""
 
-#: lib/webhooks/deploy.py:212
+#: lib/webhooks/deploy.py:213
 msgid "Path for parent directory {d!r} for project {p!r} is not a directory."
 msgstr ""
 
-#: lib/webhooks/deploy.py:241 lib/webhooks/r10k.py:263 lib/webhooks/r10k.py:272
-#: lib/webhooks/r10k.py:302 lib/webhooks/r10k.py:345
+#: lib/webhooks/deploy.py:243 lib/webhooks/deploy.py:290 lib/webhooks/r10k.py:273
+#: lib/webhooks/r10k.py:282 lib/webhooks/r10k.py:312 lib/webhooks/r10k.py:355
 msgid "Output:"
 msgstr ""
 
-#: lib/webhooks/deploy.py:248 lib/webhooks/r10k.py:309 lib/webhooks/r10k.py:352
+#: lib/webhooks/deploy.py:250 lib/webhooks/deploy.py:297 lib/webhooks/r10k.py:319
+#: lib/webhooks/r10k.py:362
 msgid ""
 "Error messages on {c!r}:\n"
 "{e}"
 msgstr ""
 
-#: lib/webhooks/deploy.py:249 lib/webhooks/r10k.py:310 lib/webhooks/r10k.py:353
+#: lib/webhooks/deploy.py:251 lib/webhooks/deploy.py:298 lib/webhooks/r10k.py:320
+#: lib/webhooks/r10k.py:363
 msgid "Returncode was {}."
 msgstr ""
 
+#: lib/webhooks/deploy.py:275
+msgid "Script {!r} exists, but is not a regular file."
+msgstr ""
+
+#: lib/webhooks/deploy.py:279
+msgid "Script {!r} exists, but is not executable.."
+msgstr ""
+
+#: lib/webhooks/deploy.py:284
+msgid "Compiling language catalogues by calling {!r} ..."
+msgstr ""
+
 #: lib/webhooks/get_forge_modules.py:84
 msgid ""
 "Collects information about all used Puppet Modules from {url!r} and cache those information in "
@@ -301,7 +319,7 @@ msgstr ""
 msgid "Got no module info from directory {!r}."
 msgstr ""
 
-#: lib/webhooks/get_forge_modules.py:296 lib/webhooks/r10k.py:122
+#: lib/webhooks/get_forge_modules.py:296 lib/webhooks/r10k.py:126
 msgid "Directory {!r} does not exists."
 msgstr ""
 
@@ -525,71 +543,71 @@ msgstr ""
 msgid "Receives push events as JSON-Data and deploys it with r10k."
 msgstr ""
 
-#: lib/webhooks/r10k.py:116
+#: lib/webhooks/r10k.py:118
 msgid "Puppetmaster SSL directory {!r} is not an absolute path name."
 msgstr ""
 
-#: lib/webhooks/r10k.py:126
+#: lib/webhooks/r10k.py:129 lib/webhooks/r10k.py:141
 msgid "Directory {!r} is read protected, cannot check existence of cert files."
 msgstr ""
 
-#: lib/webhooks/r10k.py:132
+#: lib/webhooks/r10k.py:137
 msgid "Puppetmaster SSL directory {!r} does not exists."
 msgstr ""
 
-#: lib/webhooks/r10k.py:146
+#: lib/webhooks/r10k.py:156
 msgid "File {!r} does not exists."
 msgstr ""
 
-#: lib/webhooks/r10k.py:149
+#: lib/webhooks/r10k.py:159
 msgid "File {!r} is not readable."
 msgstr ""
 
-#: lib/webhooks/r10k.py:168
+#: lib/webhooks/r10k.py:178
 msgid "Invalid port {p!r} for puppetmaster API in {f!r} found: {e}"
 msgstr ""
 
-#: lib/webhooks/r10k.py:185
+#: lib/webhooks/r10k.py:195
 msgid "Current locale is: {lo!r}, current LANG is {la!r}."
 msgstr ""
 
-#: lib/webhooks/r10k.py:199
+#: lib/webhooks/r10k.py:209
 msgid "Executing {!r} was not successful."
 msgstr ""
 
-#: lib/webhooks/r10k.py:204
+#: lib/webhooks/r10k.py:214
 msgid "{!r} was not successful."
 msgstr ""
 
-#: lib/webhooks/r10k.py:213
+#: lib/webhooks/r10k.py:223
 msgid "No environment defined."
 msgstr ""
 
-#: lib/webhooks/r10k.py:217
+#: lib/webhooks/r10k.py:227
 msgid "Environment directory {!r} does not exists."
 msgstr ""
 
-#: lib/webhooks/r10k.py:220
+#: lib/webhooks/r10k.py:230
 msgid "Clearing environment cache for environment {e!r} on {h!r}."
 msgstr ""
 
-#: lib/webhooks/r10k.py:243
+#: lib/webhooks/r10k.py:253
 msgid "Simulation mode, don't requesting URL."
 msgstr ""
 
-#: lib/webhooks/r10k.py:265 lib/webhooks/r10k.py:274 lib/webhooks/r10k.py:305 lib/webhooks/r10k.py:348
+#: lib/webhooks/r10k.py:275 lib/webhooks/r10k.py:284 lib/webhooks/r10k.py:315 lib/webhooks/r10k.py:358
 msgid "No output."
 msgstr ""
 
-#: lib/webhooks/r10k.py:270
+#: lib/webhooks/r10k.py:280
 msgid "Got status code: {}."
 msgstr ""
 
-#: lib/webhooks/r10k.py:284
+#: lib/webhooks/r10k.py:294
 msgid "Generating Puppet types for environment {e!r} on {h!r}."
 msgstr ""
 
-#: lib/webhooks/r10k.py:323
+#: lib/webhooks/r10k.py:333
 msgid "Deploying r10k environment {e!r} on {h!r}."
 msgstr ""
 
index 84bcf40c4086a179d2cc6a9e21abd1a5550a2413..12364ee22c56a2c894448b5de2799c29e9db569a 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: puppetmaster_webhooks 1.4.5\n"
 "Report-Msgid-Bugs-To: frank.brehm@pixelpark.com\n"
-"POT-Creation-Date: 2019-01-03 14:03+0100\n"
+"POT-Creation-Date: 2019-01-03 17:46+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <frank.brehm@pixelpark.com>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,19 +17,19 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: Babel 2.6.0\n"
 
-#: lib/webhooks/base_app.py:91 lib/webhooks/base_app.py:1046
+#: lib/webhooks/base_app.py:91 lib/webhooks/base_app.py:1043
 msgid "Data directory {!r} does not exists."
 msgstr ""
 
-#: lib/webhooks/base_app.py:95 lib/webhooks/base_app.py:1050
+#: lib/webhooks/base_app.py:95 lib/webhooks/base_app.py:1047
 msgid "Path to data directory {!r} is not a directory."
 msgstr ""
 
-#: lib/webhooks/base_app.py:107 lib/webhooks/base_app.py:795
+#: lib/webhooks/base_app.py:107 lib/webhooks/base_app.py:792
 msgid "Logging directory {!r} does not exists."
 msgstr ""
 
-#: lib/webhooks/base_app.py:111 lib/webhooks/base_app.py:801
+#: lib/webhooks/base_app.py:111 lib/webhooks/base_app.py:798
 msgid "Path to logging directory {!r} is not a directory."
 msgstr ""
 
@@ -73,195 +73,213 @@ msgstr ""
 msgid "An optional query string like on HTTP GET requests."
 msgstr ""
 
-#: lib/webhooks/base_app.py:616
+#: lib/webhooks/base_app.py:575 lib/webhooks/r10k.py:100 lib/webhooks/r10k.py:110
+msgid "Command {!r} not found."
+msgstr ""
+
+#: lib/webhooks/base_app.py:613
 msgid "Trying to read config from {!r} ..."
 msgstr ""
 
-#: lib/webhooks/base_app.py:620
+#: lib/webhooks/base_app.py:617
 msgid "Reading config from {!r} ..."
 msgstr ""
 
-#: lib/webhooks/base_app.py:625
+#: lib/webhooks/base_app.py:622
 msgid ""
 "Read config:\n"
 "{}"
 msgstr ""
 
-#: lib/webhooks/base_app.py:638
+#: lib/webhooks/base_app.py:635
 msgid "Configuration error"
 msgstr ""
 
-#: lib/webhooks/base_app.py:647
+#: lib/webhooks/base_app.py:644
 msgid "Wrong verbose level {v!d} in file {f!r}, must be >= 0"
 msgstr ""
 
-#: lib/webhooks/base_app.py:650
+#: lib/webhooks/base_app.py:647
 msgid "Wrong verbose level {v!r} in file {f!r}: {e}"
 msgstr ""
 
-#: lib/webhooks/base_app.py:665
+#: lib/webhooks/base_app.py:662
 msgid "Logging directory {p!r} in file {f!r} must be an absolute path."
 msgstr ""
 
-#: lib/webhooks/base_app.py:674
+#: lib/webhooks/base_app.py:671
 msgid "Default parent directory {p!r} in file {f!r} must be an absolute path."
 msgstr ""
 
-#: lib/webhooks/base_app.py:787
+#: lib/webhooks/base_app.py:784
 msgid "Initialization error"
 msgstr ""
 
-#: lib/webhooks/base_app.py:807
+#: lib/webhooks/base_app.py:804
 msgid "Logging directory {!r} is not writeable."
 msgstr ""
 
-#: lib/webhooks/base_app.py:822
+#: lib/webhooks/base_app.py:819
 msgid "Could not open error logfile {f!r}: {e}"
 msgstr ""
 
-#: lib/webhooks/base_app.py:858
+#: lib/webhooks/base_app.py:855
 msgid "Python CGI is running."
 msgstr ""
 
-#: lib/webhooks/base_app.py:891 lib/webhooks/base_app.py:896
+#: lib/webhooks/base_app.py:888 lib/webhooks/base_app.py:893
 msgid "Got a {cn} performing {a}: {e}"
 msgstr ""
 
-#: lib/webhooks/base_app.py:902
+#: lib/webhooks/base_app.py:899
 msgid "Got a {cn} reading input data as JSON: {e}"
 msgstr ""
 
-#: lib/webhooks/base_app.py:903
+#: lib/webhooks/base_app.py:900
 msgid "Input data: {!r}"
 msgstr ""
 
-#: lib/webhooks/base_app.py:917
+#: lib/webhooks/base_app.py:914
 msgid "Executing {} ..."
 msgstr ""
 
-#: lib/webhooks/base_app.py:996
+#: lib/webhooks/base_app.py:993
 msgid "Project {!r}: Received special characters in module name"
 msgstr ""
 
-#: lib/webhooks/base_app.py:1021
+#: lib/webhooks/base_app.py:1018
 msgid "Last commit by {n!r} <{m}> at {d}."
 msgstr ""
 
-#: lib/webhooks/base_app.py:1032
+#: lib/webhooks/base_app.py:1029
 msgid "Executing webhook {a!r} for Git SSH URL {u!r}, branch {b!r}."
 msgstr ""
 
-#: lib/webhooks/base_app.py:1054
+#: lib/webhooks/base_app.py:1051
 msgid "Data directory {!r} is not writeable."
 msgstr ""
 
-#: lib/webhooks/base_app.py:1070
+#: lib/webhooks/base_app.py:1067
 msgid "Error while processing {!r} project:"
 msgid_plural "Errors while processing {!r} project:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: lib/webhooks/base_app.py:1074
+#: lib/webhooks/base_app.py:1071
 msgid "Puppetmaster deploy error for project {!r}"
 msgid_plural "Puppetmaster deploy errors for project {!r}"
 msgstr[0] ""
 msgstr[1] ""
 
-#: lib/webhooks/base_app.py:1079
+#: lib/webhooks/base_app.py:1076
 msgid "Error while processing {!r}:"
 msgid_plural "Errors while processing {!r}:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: lib/webhooks/base_app.py:1083
+#: lib/webhooks/base_app.py:1080
 msgid "Puppetmaster error processing {!r}"
 msgid_plural "Puppetmaster errors processing {!r}"
 msgstr[0] ""
 msgstr[1] ""
 
-#: lib/webhooks/base_app.py:1089
+#: lib/webhooks/base_app.py:1086
 msgid "Cheers"
 msgstr ""
 
-#: lib/webhooks/base_app.py:1107
+#: lib/webhooks/base_app.py:1104
 msgid ""
 "Sending the following mail to {r!r} via {s}:{p}:\n"
 "{m}"
 msgstr ""
 
-#: lib/webhooks/base_app.py:1111
+#: lib/webhooks/base_app.py:1108
 msgid ""
 "Sending a mail to {r!r} via {s}:{p}:\n"
 "{e}"
 msgstr ""
 
-#: lib/webhooks/base_app.py:1116
+#: lib/webhooks/base_app.py:1113
 msgid "It's undesired to send error mails."
 msgstr ""
 
-#: lib/webhooks/base_app.py:1120
+#: lib/webhooks/base_app.py:1117
 msgid "Simulation mode, don't sending mail."
 msgstr ""
 
-#: lib/webhooks/base_app.py:1138
+#: lib/webhooks/base_app.py:1135
 msgid ""
 "Errors on sending error message for project {pr!r} to {r!r} via {s}:{p}:\n"
 "{e}"
 msgstr ""
 
-#: lib/webhooks/base_app.py:1144
+#: lib/webhooks/base_app.py:1141
 msgid ""
 "Errors on sending error message for {a!r} to {r!r} via {s}:{p}:\n"
 "{e}"
 msgstr ""
 
-#: lib/webhooks/base_app.py:1159
+#: lib/webhooks/base_app.py:1156
 msgid "Cache file {!r} not found."
 msgstr ""
 
-#: lib/webhooks/base_app.py:1163
+#: lib/webhooks/base_app.py:1160
 msgid "Cache file {!r} not readable."
 msgstr ""
 
-#: lib/webhooks/base_app.py:1194
+#: lib/webhooks/base_app.py:1191
 msgid "Could not evaluate content of {f!r}: {e}"
 msgstr ""
 
-#: lib/webhooks/deploy.py:47
+#: lib/webhooks/deploy.py:48
 msgid "Receives push events as JSON-Data and synchronizes the local repository."
 msgstr ""
 
-#: lib/webhooks/deploy.py:178
+#: lib/webhooks/deploy.py:179
 msgid "Could not find a definition for project {!r}."
 msgstr ""
 
-#: lib/webhooks/deploy.py:201
+#: lib/webhooks/deploy.py:202
 msgid "Deploying working directory {f!r} for project {p!r} ..."
 msgstr ""
 
-#: lib/webhooks/deploy.py:205
+#: lib/webhooks/deploy.py:206
 msgid "Parent directory {d!r} of project {p!r} does not exists."
 msgstr ""
 
-#: lib/webhooks/deploy.py:212
+#: lib/webhooks/deploy.py:213
 msgid "Path for parent directory {d!r} for project {p!r} is not a directory."
 msgstr ""
 
-#: lib/webhooks/deploy.py:241 lib/webhooks/r10k.py:263 lib/webhooks/r10k.py:272
-#: lib/webhooks/r10k.py:302 lib/webhooks/r10k.py:345
+#: lib/webhooks/deploy.py:243 lib/webhooks/deploy.py:290 lib/webhooks/r10k.py:273
+#: lib/webhooks/r10k.py:282 lib/webhooks/r10k.py:312 lib/webhooks/r10k.py:355
 msgid "Output:"
 msgstr ""
 
-#: lib/webhooks/deploy.py:248 lib/webhooks/r10k.py:309 lib/webhooks/r10k.py:352
+#: lib/webhooks/deploy.py:250 lib/webhooks/deploy.py:297 lib/webhooks/r10k.py:319
+#: lib/webhooks/r10k.py:362
 msgid ""
 "Error messages on {c!r}:\n"
 "{e}"
 msgstr ""
 
-#: lib/webhooks/deploy.py:249 lib/webhooks/r10k.py:310 lib/webhooks/r10k.py:353
+#: lib/webhooks/deploy.py:251 lib/webhooks/deploy.py:298 lib/webhooks/r10k.py:320
+#: lib/webhooks/r10k.py:363
 msgid "Returncode was {}."
 msgstr ""
 
+#: lib/webhooks/deploy.py:275
+msgid "Script {!r} exists, but is not a regular file."
+msgstr ""
+
+#: lib/webhooks/deploy.py:279
+msgid "Script {!r} exists, but is not executable.."
+msgstr ""
+
+#: lib/webhooks/deploy.py:284
+msgid "Compiling language catalogues by calling {!r} ..."
+msgstr ""
+
 #: lib/webhooks/get_forge_modules.py:84
 msgid ""
 "Collects information about all used Puppet Modules from {url!r} and cache those information in "
@@ -300,7 +318,7 @@ msgstr ""
 msgid "Got no module info from directory {!r}."
 msgstr ""
 
-#: lib/webhooks/get_forge_modules.py:296 lib/webhooks/r10k.py:122
+#: lib/webhooks/get_forge_modules.py:296 lib/webhooks/r10k.py:126
 msgid "Directory {!r} does not exists."
 msgstr ""
 
@@ -524,71 +542,71 @@ msgstr ""
 msgid "Receives push events as JSON-Data and deploys it with r10k."
 msgstr ""
 
-#: lib/webhooks/r10k.py:116
+#: lib/webhooks/r10k.py:118
 msgid "Puppetmaster SSL directory {!r} is not an absolute path name."
 msgstr ""
 
-#: lib/webhooks/r10k.py:126
+#: lib/webhooks/r10k.py:129 lib/webhooks/r10k.py:141
 msgid "Directory {!r} is read protected, cannot check existence of cert files."
 msgstr ""
 
-#: lib/webhooks/r10k.py:132
+#: lib/webhooks/r10k.py:137
 msgid "Puppetmaster SSL directory {!r} does not exists."
 msgstr ""
 
-#: lib/webhooks/r10k.py:146
+#: lib/webhooks/r10k.py:156
 msgid "File {!r} does not exists."
 msgstr ""
 
-#: lib/webhooks/r10k.py:149
+#: lib/webhooks/r10k.py:159
 msgid "File {!r} is not readable."
 msgstr ""
 
-#: lib/webhooks/r10k.py:168
+#: lib/webhooks/r10k.py:178
 msgid "Invalid port {p!r} for puppetmaster API in {f!r} found: {e}"
 msgstr ""
 
-#: lib/webhooks/r10k.py:185
+#: lib/webhooks/r10k.py:195
 msgid "Current locale is: {lo!r}, current LANG is {la!r}."
 msgstr ""
 
-#: lib/webhooks/r10k.py:199
+#: lib/webhooks/r10k.py:209
 msgid "Executing {!r} was not successful."
 msgstr ""
 
-#: lib/webhooks/r10k.py:204
+#: lib/webhooks/r10k.py:214
 msgid "{!r} was not successful."
 msgstr ""
 
-#: lib/webhooks/r10k.py:213
+#: lib/webhooks/r10k.py:223
 msgid "No environment defined."
 msgstr ""
 
-#: lib/webhooks/r10k.py:217
+#: lib/webhooks/r10k.py:227
 msgid "Environment directory {!r} does not exists."
 msgstr ""
 
-#: lib/webhooks/r10k.py:220
+#: lib/webhooks/r10k.py:230
 msgid "Clearing environment cache for environment {e!r} on {h!r}."
 msgstr ""
 
-#: lib/webhooks/r10k.py:243
+#: lib/webhooks/r10k.py:253
 msgid "Simulation mode, don't requesting URL."
 msgstr ""
 
-#: lib/webhooks/r10k.py:265 lib/webhooks/r10k.py:274 lib/webhooks/r10k.py:305 lib/webhooks/r10k.py:348
+#: lib/webhooks/r10k.py:275 lib/webhooks/r10k.py:284 lib/webhooks/r10k.py:315 lib/webhooks/r10k.py:358
 msgid "No output."
 msgstr ""
 
-#: lib/webhooks/r10k.py:270
+#: lib/webhooks/r10k.py:280
 msgid "Got status code: {}."
 msgstr ""
 
-#: lib/webhooks/r10k.py:284
+#: lib/webhooks/r10k.py:294
 msgid "Generating Puppet types for environment {e!r} on {h!r}."
 msgstr ""
 
-#: lib/webhooks/r10k.py:323
+#: lib/webhooks/r10k.py:333
 msgid "Deploying r10k environment {e!r} on {h!r}."
 msgstr ""