diff options
-rw-r--r-- | doc/de/weechat_scripting.de.adoc | 71 | ||||
-rw-r--r-- | doc/en/weechat_scripting.en.adoc | 69 | ||||
-rw-r--r-- | doc/fr/weechat_scripting.fr.adoc | 69 | ||||
-rw-r--r-- | doc/it/weechat_scripting.it.adoc | 69 | ||||
-rw-r--r-- | doc/ja/weechat_scripting.ja.adoc | 69 | ||||
-rw-r--r-- | doc/pl/weechat_scripting.pl.adoc | 71 | ||||
-rw-r--r-- | doc/sr/weechat_scripting.sr.adoc | 69 |
7 files changed, 343 insertions, 144 deletions
diff --git a/doc/de/weechat_scripting.de.adoc b/doc/de/weechat_scripting.de.adoc index 0060eabba..647ad6e1f 100644 --- a/doc/de/weechat_scripting.de.adoc +++ b/doc/de/weechat_scripting.de.adoc @@ -1073,26 +1073,54 @@ Mit der Funktion `+hook_process+` kann ein Hintergrundprozess gestartet werden. Der Callback wird aufgerufen sobald der Hintergrundprozess abgearbeitet wurde. Dies kann auch mehrfach der Fall sein. -Für den letzten Aufruf des Callback wird _rc_ auf 0 oder einen positiven Wert -gesetzt. Dies ist der Return Code des Befehls. +Für den letzten Aufruf des Callback wird _return_code_ auf 0 oder einen positiven +Wert gesetzt. Dies ist der Return Code des Befehls. Beispiele: [source,python] ---- -process_output = "" - -def my_process_cb(data, command, rc, out, err): - global process_output - if out != "": - process_output += out - if int(rc) >= 0: - weechat.prnt("", process_output) +def my_process_cb(data, command, return_code, out, err): + if return_code == weechat.WEECHAT_HOOK_PROCESS_ERROR: + weechat.prnt("", "Error with command '%s'" % command) + return weechat.WEECHAT_RC_OK + if return_code >= 0: + weechat.prnt("", "return_code = %d" % return_code) + if out: + weechat.prnt("", "stdout: %s" % out) + if err: + weechat.prnt("", "stderr: %s" % err) return weechat.WEECHAT_RC_OK weechat.hook_process("/bin/ls -l /etc", 10 * 1000, "my_process_cb", "") ---- +// TRANSLATION MISSING +You can also call directly a script function that does something blocking, +instead of an external command: + +[source,python] +---- +def get_status(data): + # do something blocking... + # ... + return "this is the result" + +def my_process_cb(data, command, return_code, out, err): + if return_code == weechat.WEECHAT_HOOK_PROCESS_ERROR: + weechat.prnt("", "Error with command '%s'" % command) + return weechat.WEECHAT_RC_OK + if return_code >= 0: + weechat.prnt("", "return_code = %d" % return_code) + if out: + weechat.prnt("", "stdout: %s" % out) + if err: + weechat.prnt("", "stderr: %s" % err) + return weechat.WEECHAT_RC_OK + +hook = weechat.hook_process("func:get_status", 5000, "my_process_cb", "") +---- + [[url_transfer]] ==== URL Übertragung @@ -1105,17 +1133,18 @@ einen URL Transfer, kommt die Funktion `+hook_process_hashtable+` zum Einsatz. Beispiel eines URL Transfers, ohne zusätzliche Optionen: Die HTML Seite wird dabei in der Callback-Variable "out" gesichert (Standardausgabe des Prozesses): +// TRANSLATION MISSING [source,python] ---- -# Zeigt die aktuelle stabile Version von WeeChat an. -weechat_version = "" +# Display latest stable version of WeeChat. +weechat_latest_version = "" -def weechat_process_cb(data, command, rc, out, err): - global weechat_version - if out != "": - weechat_version += out - if int(rc) >= 0: - weechat.prnt("", "aktuelle stabile WeeChat-Version: %s" % weechat_version) +def weechat_process_cb(data, command, return_code, out, err): + global weechat_latest_version + if out: + weechat_latest_version += out + if return_code >= 0: + weechat.prnt("", "Latest WeeChat version: %s" % weechat_latest_version) return weechat.WEECHAT_RC_OK weechat.hook_process("url:https://weechat.org/dev/info/stable/", @@ -1130,9 +1159,9 @@ WeeChat Entwicklerpaket in die Datei _/tmp/weechat-devel.tar.gz_ gesichert: [source,python] ---- -def my_process_cb(data, command, rc, out, err): - if int(rc) >= 0: - weechat.prnt("", "End of transfer (rc=%s)" % rc) +def my_process_cb(data, command, return_code, out, err): + if return_code >= 0: + weechat.prnt("", "End of transfer (return code = %d)" % return_code) return weechat.WEECHAT_RC_OK weechat.hook_process_hashtable("url:https://weechat.org/files/src/weechat-devel.tar.gz", diff --git a/doc/en/weechat_scripting.en.adoc b/doc/en/weechat_scripting.en.adoc index ffdf378de..8cea11500 100644 --- a/doc/en/weechat_scripting.en.adoc +++ b/doc/en/weechat_scripting.en.adoc @@ -1049,26 +1049,53 @@ weechat.hook_timer(60 * 1000, 60, 0, "timer_cb", "") You can run a background process with `+hook_process+`. Your callback will be called when data is ready. It may be called many times. -For the last call to your callback, _rc_ is set to 0 or positive value, it's -return code of command. +For the last call to your callback, _return_code_ is set to 0 or positive value, +it is the return code of command. Example: [source,python] ---- -process_output = "" - -def my_process_cb(data, command, rc, out, err): - global process_output - if out != "": - process_output += out - if int(rc) >= 0: - weechat.prnt("", process_output) +def my_process_cb(data, command, return_code, out, err): + if return_code == weechat.WEECHAT_HOOK_PROCESS_ERROR: + weechat.prnt("", "Error with command '%s'" % command) + return weechat.WEECHAT_RC_OK + if return_code >= 0: + weechat.prnt("", "return_code = %d" % return_code) + if out: + weechat.prnt("", "stdout: %s" % out) + if err: + weechat.prnt("", "stderr: %s" % err) return weechat.WEECHAT_RC_OK weechat.hook_process("/bin/ls -l /etc", 10 * 1000, "my_process_cb", "") ---- +You can also call directly a script function that does something blocking, +instead of an external command: + +[source,python] +---- +def get_status(data): + # do something blocking... + # ... + return "this is the result" + +def my_process_cb(data, command, return_code, out, err): + if return_code == weechat.WEECHAT_HOOK_PROCESS_ERROR: + weechat.prnt("", "Error with command '%s'" % command) + return weechat.WEECHAT_RC_OK + if return_code >= 0: + weechat.prnt("", "return_code = %d" % return_code) + if out: + weechat.prnt("", "stdout: %s" % out) + if err: + weechat.prnt("", "stderr: %s" % err) + return weechat.WEECHAT_RC_OK + +hook = weechat.hook_process("func:get_status", 5000, "my_process_cb", "") +---- + [[url_transfer]] ==== URL transfer @@ -1082,15 +1109,15 @@ in callback (standard output of process): [source,python] ---- -# Display current stable version of WeeChat. -weechat_version = "" +# Display latest stable version of WeeChat. +weechat_latest_version = "" -def weechat_process_cb(data, command, rc, out, err): - global weechat_version - if out != "": - weechat_version += out - if int(rc) >= 0: - weechat.prnt("", "Current WeeChat stable is: %s" % weechat_version) +def weechat_process_cb(data, command, return_code, out, err): + global weechat_latest_version + if out: + weechat_latest_version += out + if return_code >= 0: + weechat.prnt("", "Latest WeeChat version: %s" % weechat_latest_version) return weechat.WEECHAT_RC_OK weechat.hook_process("url:https://weechat.org/dev/info/stable/", @@ -1105,9 +1132,9 @@ package in file _/tmp/weechat-devel.tar.gz_: [source,python] ---- -def my_process_cb(data, command, rc, out, err): - if int(rc) >= 0: - weechat.prnt("", "End of transfer (rc=%s)" % rc) +def my_process_cb(data, command, return_code, out, err): + if return_code >= 0: + weechat.prnt("", "End of transfer (return code = %d)" % return_code) return weechat.WEECHAT_RC_OK weechat.hook_process_hashtable("url:https://weechat.org/files/src/weechat-devel.tar.gz", diff --git a/doc/fr/weechat_scripting.fr.adoc b/doc/fr/weechat_scripting.fr.adoc index 16b21902d..14f6f1833 100644 --- a/doc/fr/weechat_scripting.fr.adoc +++ b/doc/fr/weechat_scripting.fr.adoc @@ -1077,26 +1077,53 @@ Vous pouvez lancer un processus en tâche de fond avec `+hook_process+`. Votre fonction de rappel sera appelée quand des données seront prêtes. Elle peut être appelée plusieurs fois. -Pour le dernier appel à votre fonction de rappel, _rc_ est positionné à 0 ou -une valeur positive, c'est le code retour de la commande. +Pour le dernier appel à votre fonction de rappel, _return_code_ est positionné +à 0 ou une valeur positive, il s'agit du code retour de la commande. Exemple : [source,python] ---- -process_output = "" - -def my_process_cb(data, command, rc, out, err): - global process_output - if out != "": - process_output += out - if int(rc) >= 0: - weechat.prnt("", process_output) +def my_process_cb(data, command, return_code, out, err): + if return_code == weechat.WEECHAT_HOOK_PROCESS_ERROR: + weechat.prnt("", "Erreur avec la commande '%s'" % command) + return weechat.WEECHAT_RC_OK + if return_code >= 0: + weechat.prnt("", "return_code = %d" % return_code) + if out: + weechat.prnt("", "stdout: %s" % out) + if err: + weechat.prnt("", "stderr: %s" % err) return weechat.WEECHAT_RC_OK weechat.hook_process("/bin/ls -l /etc", 10 * 1000, "my_process_cb", "") ---- +Vous pouvez aussi appeler directement une fonction du script qui fait un appel +bloquant, au lieu d'une commande externe : + +[source,python] +---- +def get_status(data): + # faire quelque chose de bloquant... + # ... + return "ceci est le résultat" + +def my_process_cb(data, command, return_code, out, err): + if return_code == weechat.WEECHAT_HOOK_PROCESS_ERROR: + weechat.prnt("", "Error with command '%s'" % command) + return weechat.WEECHAT_RC_OK + if return_code >= 0: + weechat.prnt("", "return_code = %d" % return_code) + if out: + weechat.prnt("", "stdout: %s" % out) + if err: + weechat.prnt("", "stderr: %s" % err) + return weechat.WEECHAT_RC_OK + +hook = weechat.hook_process("func:get_status", 5000, "my_process_cb", "") +---- + [[url_transfer]] ==== Transfert d'URL @@ -1111,15 +1138,15 @@ dans la fonction de rappel (sortie standard du processus) : [source,python] ---- -# Afficher la version stable courante de WeeChat. -weechat_version = "" +# Afficher la dernière version stable de WeeChat. +weechat_latest_version = "" -def weechat_process_cb(data, command, rc, out, err): - global weechat_version - if out != "": - weechat_version += out - if int(rc) >= 0: - weechat.prnt("", "La version stable courante de WeeChat est : %s" % weechat_version) +def weechat_process_cb(data, command, return_code, out, err): + global weechat_latest_version + if out: + weechat_latest_version += out + if return_code >= 0: + weechat.prnt("", "Dernière version de WeeChat : %s" % weechat_latest_version) return weechat.WEECHAT_RC_OK weechat.hook_process("url:https://weechat.org/dev/info/stable/", @@ -1135,9 +1162,9 @@ développement WeeChat dans le fichier _/tmp/weechat-devel.tar.gz_ : [source,python] ---- -def my_process_cb(data, command, rc, out, err): - if int(rc) >= 0: - weechat.prnt("", "Fin du transfert (rc=%s)" % rc) +def my_process_cb(data, command, return_code, out, err): + if return_code >= 0: + weechat.prnt("", "Fin du transfert (code retour = %d)" % return_code) return weechat.WEECHAT_RC_OK weechat.hook_process_hashtable("url:https://weechat.org/files/src/weechat-devel.tar.gz", diff --git a/doc/it/weechat_scripting.it.adoc b/doc/it/weechat_scripting.it.adoc index 2a1b96a66..68c9976c0 100644 --- a/doc/it/weechat_scripting.it.adoc +++ b/doc/it/weechat_scripting.it.adoc @@ -1097,26 +1097,54 @@ weechat.hook_timer(60 * 1000, 60, 0, "timer_cb", "") callback verrà chiamata quando i dati sono pronti. Può essere chiamata più volte. -Per l'ultima chiamata alla callback, _rc_ è impostato a zero o su un +Per l'ultima chiamata alla callback, _return_code_ è impostato a zero o su un valore positivo, è il codice restituito dal comando. Esempio: [source,python] ---- -process_output = "" - -def my_process_cb(data, command, rc, out, err): - global process_output - if out != "": - process_output += out - if int(rc) >= 0: - weechat.prnt("", process_output) +def my_process_cb(data, command, return_code, out, err): + if return_code == weechat.WEECHAT_HOOK_PROCESS_ERROR: + weechat.prnt("", "Error with command '%s'" % command) + return weechat.WEECHAT_RC_OK + if return_code >= 0: + weechat.prnt("", "return_code = %d" % return_code) + if out: + weechat.prnt("", "stdout: %s" % out) + if err: + weechat.prnt("", "stderr: %s" % err) return weechat.WEECHAT_RC_OK weechat.hook_process("/bin/ls -l /etc", 10 * 1000, "my_process_cb", "") ---- +// TRANSLATION MISSING +You can also call directly a script function that does something blocking, +instead of an external command: + +[source,python] +---- +def get_status(data): + # do something blocking... + # ... + return "this is the result" + +def my_process_cb(data, command, return_code, out, err): + if return_code == weechat.WEECHAT_HOOK_PROCESS_ERROR: + weechat.prnt("", "Error with command '%s'" % command) + return weechat.WEECHAT_RC_OK + if return_code >= 0: + weechat.prnt("", "return_code = %d" % return_code) + if out: + weechat.prnt("", "stdout: %s" % out) + if err: + weechat.prnt("", "stderr: %s" % err) + return weechat.WEECHAT_RC_OK + +hook = weechat.hook_process("func:get_status", 5000, "my_process_cb", "") +---- + [[url_transfer]] ==== Trasferimento URL @@ -1129,17 +1157,18 @@ delle opzioni per il trasferimento dell'URL. Esempio di trasferimento di un URL senza opzioni: la pagina HTML verrà ricevuta come "out" nella callback (output standard di un processo): +// TRANSLATION MISSING [source,python] ---- -# Mostra la versione stabile corrente di WeeChat. -weechat_version = "" +# Display latest stable version of WeeChat. +weechat_latest_version = "" -def weechat_process_cb(data, command, rc, out, err): - global weechat_version - if out != "": - weechat_version += out - if int(rc) >= 0: - weechat.prnt("", "Current WeeChat stable is: %s" % weechat_version) +def weechat_process_cb(data, command, return_code, out, err): + global weechat_latest_version + if out: + weechat_latest_version += out + if return_code >= 0: + weechat.prnt("", "Latest WeeChat version: %s" % weechat_latest_version) return weechat.WEECHAT_RC_OK weechat.hook_process("url:https://weechat.org/dev/info/stable/", @@ -1155,9 +1184,9 @@ di sviluppo di WeeChat nel file _/tmp/weechat-devel.tar.gz_: [source,python] ---- -def my_process_cb(data, command, rc, out, err): - if int(rc) >= 0: - weechat.prnt("", "End of transfer (rc=%s)" % rc) +def my_process_cb(data, command, return_code, out, err): + if return_code >= 0: + weechat.prnt("", "End of transfer (return code = %d)" % return_code) return weechat.WEECHAT_RC_OK weechat.hook_process_hashtable("url:https://weechat.org/files/src/weechat-devel.tar.gz", diff --git a/doc/ja/weechat_scripting.ja.adoc b/doc/ja/weechat_scripting.ja.adoc index ef4a28172..bc3987b45 100644 --- a/doc/ja/weechat_scripting.ja.adoc +++ b/doc/ja/weechat_scripting.ja.adoc @@ -1078,26 +1078,54 @@ weechat.hook_timer(60 * 1000, 60, 0, "timer_cb", "") バックグラウンドプロセスを実行するには `+hook_process+` を使います。コールバックはデータの準備が整った時点で呼び出されます。複数回呼び出されることもあります。 -コールバックの最後の呼び出しでは _rc_ が 0 +コールバックの最後の呼び出しでは _return_code_ が 0 か正の値に設定されています。これはコマンドのリターンコードになります。 例: [source,python] ---- -process_output = "" - -def my_process_cb(data, command, rc, out, err): - global process_output - if out != "": - process_output += out - if int(rc) >= 0: - weechat.prnt("", process_output) +def my_process_cb(data, command, return_code, out, err): + if return_code == weechat.WEECHAT_HOOK_PROCESS_ERROR: + weechat.prnt("", "Error with command '%s'" % command) + return weechat.WEECHAT_RC_OK + if return_code >= 0: + weechat.prnt("", "return_code = %d" % return_code) + if out: + weechat.prnt("", "stdout: %s" % out) + if err: + weechat.prnt("", "stderr: %s" % err) return weechat.WEECHAT_RC_OK weechat.hook_process("/bin/ls -l /etc", 10 * 1000, "my_process_cb", "") ---- +// TRANSLATION MISSING +You can also call directly a script function that does something blocking, +instead of an external command: + +[source,python] +---- +def get_status(data): + # do something blocking... + # ... + return "this is the result" + +def my_process_cb(data, command, return_code, out, err): + if return_code == weechat.WEECHAT_HOOK_PROCESS_ERROR: + weechat.prnt("", "Error with command '%s'" % command) + return weechat.WEECHAT_RC_OK + if return_code >= 0: + weechat.prnt("", "return_code = %d" % return_code) + if out: + weechat.prnt("", "stdout: %s" % out) + if err: + weechat.prnt("", "stderr: %s" % err) + return weechat.WEECHAT_RC_OK + +hook = weechat.hook_process("func:get_status", 5000, "my_process_cb", "") +---- + [[url_transfer]] ==== URL 転送 @@ -1109,17 +1137,18 @@ URL をダウンロードする (または URL にポストする) には、関 オプション無しの URL 転送の例: HTML ページの内容はコールバックの "out" 引数 (プロセスの標準出力) を通して渡されます。 +// TRANSLATION MISSING [source,python] ---- -# 現在の WeeChat 安定版のバージョンを表示。 -weechat_version = "" +# Display latest stable version of WeeChat. +weechat_latest_version = "" -def weechat_process_cb(data, command, rc, out, err): - global weechat_version - if out != "": - weechat_version += out - if int(rc) >= 0: - weechat.prnt("", "Current WeeChat stable is: %s" % weechat_version) +def weechat_process_cb(data, command, return_code, out, err): + global weechat_latest_version + if out: + weechat_latest_version += out + if return_code >= 0: + weechat.prnt("", "Latest WeeChat version: %s" % weechat_latest_version) return weechat.WEECHAT_RC_OK weechat.hook_process("url:https://weechat.org/dev/info/stable/", @@ -1134,9 +1163,9 @@ _/tmp/weechat-devel.tar.gz_ にダウンロード: [source,python] ---- -def my_process_cb(data, command, rc, out, err): - if int(rc) >= 0: - weechat.prnt("", "End of transfer (rc=%s)" % rc) +def my_process_cb(data, command, return_code, out, err): + if return_code >= 0: + weechat.prnt("", "End of transfer (return code = %d)" % return_code) return weechat.WEECHAT_RC_OK weechat.hook_process_hashtable("url:https://weechat.org/files/src/weechat-devel.tar.gz", diff --git a/doc/pl/weechat_scripting.pl.adoc b/doc/pl/weechat_scripting.pl.adoc index 100ac1ecb..ec7668082 100644 --- a/doc/pl/weechat_scripting.pl.adoc +++ b/doc/pl/weechat_scripting.pl.adoc @@ -1054,26 +1054,54 @@ weechat.hook_timer(60 * 1000, 60, 0, "timer_cb", "") Do wykonywania procesów w tle służy `+hook_process+`. Twoje callbacki zostaną wywołane, kiedy dane będą gotowe. Może zostać wywołane wiele razy. -Dla ostatniego wykonania Twojego callbacku _rc_ jest ustawiane na 0, lub wartość -dodatnią, jest to kod zwracany przez komendę. +Dla ostatniego wykonania Twojego callbacku _return_code_ jest ustawiane na 0, +lub wartość dodatnią, jest to kod zwracany przez komendę. Przykład: [source,python] ---- -process_output = "" - -def my_process_cb(data, command, rc, out, err): - global process_output - if out != "": - process_output += out - if int(rc) >= 0: - weechat.prnt("", process_output) +def my_process_cb(data, command, return_code, out, err): + if return_code == weechat.WEECHAT_HOOK_PROCESS_ERROR: + weechat.prnt("", "Error with command '%s'" % command) + return weechat.WEECHAT_RC_OK + if return_code >= 0: + weechat.prnt("", "return_code = %d" % return_code) + if out: + weechat.prnt("", "stdout: %s" % out) + if err: + weechat.prnt("", "stderr: %s" % err) return weechat.WEECHAT_RC_OK weechat.hook_process("/bin/ls -l /etc", 10 * 1000, "my_process_cb", "") ---- +// TRANSLATION MISSING +You can also call directly a script function that does something blocking, +instead of an external command: + +[source,python] +---- +def get_status(data): + # do something blocking... + # ... + return "this is the result" + +def my_process_cb(data, command, return_code, out, err): + if return_code == weechat.WEECHAT_HOOK_PROCESS_ERROR: + weechat.prnt("", "Error with command '%s'" % command) + return weechat.WEECHAT_RC_OK + if return_code >= 0: + weechat.prnt("", "return_code = %d" % return_code) + if out: + weechat.prnt("", "stdout: %s" % out) + if err: + weechat.prnt("", "stderr: %s" % err) + return weechat.WEECHAT_RC_OK + +hook = weechat.hook_process("func:get_status", 5000, "my_process_cb", "") +---- + [[url_transfer]] ==== Transfer URL @@ -1085,17 +1113,18 @@ Aby pobrać URL (albo wysłać do URL), należy użyć funkcji `+hook_process+`, Przykład transferu URL bez opcji: strona HTML jest otrzymywana jako "out" (standardowe wyjście procesu): +// TRANSLATION MISSING [source,python] ---- -# Wyświetla aktualną stabilną wersję WeeChat. -weechat_version = "" +# Display latest stable version of WeeChat. +weechat_latest_version = "" -def weechat_process_cb(data, command, rc, out, err): - global weechat_version - if out != "": - weechat_version += out - if int(rc) >= 0: - weechat.prnt("", "Obecna wersja stabilna WeeChat: %s" % weechat_version) +def weechat_process_cb(data, command, return_code, out, err): + global weechat_latest_version + if out: + weechat_latest_version += out + if return_code >= 0: + weechat.prnt("", "Latest WeeChat version: %s" % weechat_latest_version) return weechat.WEECHAT_RC_OK weechat.hook_process("url:https://weechat.org/dev/info/stable/", @@ -1110,9 +1139,9 @@ do pliku _/tmp/weechat-devel.tar.gz_: [source,python] ---- -def my_process_cb(data, command, rc, out, err): - if int(rc) >= 0: - weechat.prnt("", "End of transfer (rc=%s)" % rc) +def my_process_cb(data, command, return_code, out, err): + if return_code >= 0: + weechat.prnt("", "End of transfer (return code = %d)" % return_code) return weechat.WEECHAT_RC_OK weechat.hook_process_hashtable("url:https://weechat.org/files/src/weechat-devel.tar.gz", diff --git a/doc/sr/weechat_scripting.sr.adoc b/doc/sr/weechat_scripting.sr.adoc index 3c3149e9e..53d06377c 100644 --- a/doc/sr/weechat_scripting.sr.adoc +++ b/doc/sr/weechat_scripting.sr.adoc @@ -999,25 +999,53 @@ weechat.hook_timer(60 * 1000, 60, 0, "timer_cb", "") Процес можете да покренете у позадини са `+hook_process+`. Ваша функција повратног позива ће се позвати онда када подаци буду спремни. Може да се позива више пута. -У последњем позиву ваше функције повратног позива, _rc_ се поставља на 0 или позитивну вредност, то је повратни кôд команде. +У последњем позиву ваше функције повратног позива, _return_code_ се поставља на 0 или позитивну вредност, то је повратни кôд команде. Пример: [source, python] ---- -process_output = "" - -def my_process_cb(data, command, rc, out, err): - global process_output - if out != "": - process_output += out - if int(rc) >= 0: - weechat.prnt("", process_output) +def my_process_cb(data, command, return_code, out, err): + if return_code == weechat.WEECHAT_HOOK_PROCESS_ERROR: + weechat.prnt("", "Error with command '%s'" % command) + return weechat.WEECHAT_RC_OK + if return_code >= 0: + weechat.prnt("", "return_code = %d" % return_code) + if out: + weechat.prnt("", "stdout: %s" % out) + if err: + weechat.prnt("", "stderr: %s" % err) return weechat.WEECHAT_RC_OK weechat.hook_process("/bin/ls -l /etc", 10 * 1000, "my_process_cb", "") ---- +// TRANSLATION MISSING +You can also call directly a script function that does something blocking, +instead of an external command: + +[source,python] +---- +def get_status(data): + # do something blocking... + # ... + return "this is the result" + +def my_process_cb(data, command, return_code, out, err): + if return_code == weechat.WEECHAT_HOOK_PROCESS_ERROR: + weechat.prnt("", "Error with command '%s'" % command) + return weechat.WEECHAT_RC_OK + if return_code >= 0: + weechat.prnt("", "return_code = %d" % return_code) + if out: + weechat.prnt("", "stdout: %s" % out) + if err: + weechat.prnt("", "stderr: %s" % err) + return weechat.WEECHAT_RC_OK + +hook = weechat.hook_process("func:get_status", 5000, "my_process_cb", "") +---- + [[url_transfer]] ==== URL пренос @@ -1027,17 +1055,18 @@ _Ново у верзији 0.3.7._ Пример URL преноса без опције: HTML страница ће се примити као „out” у функцији повратног позива (стандардни излаз процеса): +// TRANSLATION MISSING [source, python] ---- -# Приказ тренутне стабилне верзије програма WeeChat. -weechat_version = "" +# Display latest stable version of WeeChat. +weechat_latest_version = "" -def weechat_process_cb(data, command, rc, out, err): - global weechat_version - if out != "": - weechat_version += out - if int(rc) >= 0: - weechat.prnt("", "Тренутна стабилна WeeChat верзија је: %s" % weechat_version) +def weechat_process_cb(data, command, return_code, out, err): + global weechat_latest_version + if out: + weechat_latest_version += out + if return_code >= 0: + weechat.prnt("", "Latest WeeChat version: %s" % weechat_latest_version) return weechat.WEECHAT_RC_OK weechat.hook_process("url:https://weechat.org/dev/info/stable/", @@ -1051,9 +1080,9 @@ weechat.hook_process("url:https://weechat.org/dev/info/stable/", [source, python] ---- -def my_process_cb(data, command, rc, out, err): - if int(rc) >= 0: - weechat.prnt("", "Крај преноса (rc=%s)" % rc) +def my_process_cb(data, command, return_code, out, err): + if return_code >= 0: + weechat.prnt("", "Крај преноса (return code = %d)" % return_code) return weechat.WEECHAT_RC_OK weechat.hook_process_hashtable("url:https://weechat.org/files/src/weechat-devel.tar.gz", |