summaryrefslogtreecommitdiff
path: root/doc/fr
diff options
context:
space:
mode:
authorSebastien Helleu <flashcode@flashtux.org>2012-01-16 19:52:08 +0100
committerSebastien Helleu <flashcode@flashtux.org>2012-01-16 19:52:08 +0100
commitb91c231096c726d0d8ecdc4c88e19a229feb615b (patch)
treedf21ac2dccdbedcba04e14345339f2f702249193 /doc/fr
parentca07f584063aa68f0c5d3263128f4149bb61b5e0 (diff)
downloadweechat-b91c231096c726d0d8ecdc4c88e19a229feb615b.zip
core: add URL transfer (using libcurl), add function hook_process_hashtable in plugin API, add support of URL in hook_process/hook_process_hashtable (task #10247)
Diffstat (limited to 'doc/fr')
-rw-r--r--doc/fr/autogen/plugin_api/infolists.txt2
-rw-r--r--doc/fr/autogen/plugin_api/url_options.txt91
-rw-r--r--doc/fr/weechat_plugin_api.fr.txt135
-rw-r--r--doc/fr/weechat_user.fr.txt1
4 files changed, 227 insertions, 2 deletions
diff --git a/doc/fr/autogen/plugin_api/infolists.txt b/doc/fr/autogen/plugin_api/infolists.txt
index fc05a383e..a1d372e57 100644
--- a/doc/fr/autogen/plugin_api/infolists.txt
+++ b/doc/fr/autogen/plugin_api/infolists.txt
@@ -58,6 +58,8 @@
| weechat | plugin | liste des extensions | pointeur vers l'extension (optionnel) | nom d'extension (peut démarrer ou se terminer par "*" comme joker) (optionnel)
+| weechat | url_options | options pour l'URL | - | -
+
| weechat | window | liste des fenêtres | pointeur vers la fenêtre (optionnel) | "current" pour la fenêtre courante ou un numéro de fenêtre (optionnel)
| xfer | xfer | liste des xfer | pointeur vers le xfer (optionnel) | -
diff --git a/doc/fr/autogen/plugin_api/url_options.txt b/doc/fr/autogen/plugin_api/url_options.txt
new file mode 100644
index 000000000..f7cab2e55
--- /dev/null
+++ b/doc/fr/autogen/plugin_api/url_options.txt
@@ -0,0 +1,91 @@
+[width="100%",cols="2,^1,7",options="header"]
+|========================================
+| Option | Type | Constantes ^(1)^
+
+| header | long |
+
+| wildcardmatch | long |
+
+| failonerror | long |
+
+| protocols | mask | http, https, ftp, ftps, scp, sftp, telnet, ldap, ldaps, dict, file, tftp, imap, imaps, pop3, pop3s, smtp, smtps, rtsp, rtmp, rtmpt, rtmpe, rtmpte, rtmps, rtmpts, gopher, all
+
+| redir_protocols | mask | http, https, ftp, ftps, scp, sftp, telnet, ldap, ldaps, dict, file, tftp, imap, imaps, pop3, pop3s, smtp, smtps, rtsp, rtmp, rtmpt, rtmpe, rtmpte, rtmps, rtmpts, gopher, all
+
+| proxy | string |
+
+| proxyport | long |
+
+| proxytype | long | http, http_1_0, socks4, socks5, socks4a, socks5_hostname
+
+| noproxy | string |
+
+| httpproxytunnel | long |
+
+| socks5_gssapi_service | string |
+
+| socks5_gssapi_nec | long |
+
+| interface | string |
+
+| localport | long |
+
+| localportrange | long |
+
+| dns_cache_timeout | long |
+
+| buffersize | long |
+
+| port | long |
+
+| tcp_nodelay | long |
+
+| address_scope | long |
+
+| netrc | long | ignored, optional, required
+
+| netrc_file | string |
+
+| userpwd | string |
+
+| proxyuserpwd | string |
+
+| username | string |
+
+| password | string |
+
+| proxyusername | string |
+
+| proxypassword | string |
+
+| httpauth | mask | none, basic, digest, gssnegotiate, ntlm, digest_ie, ntlm_wb, only, any, anysafe
+
+| tlsauth_type | mask | none, srp
+
+| tlsauth_username | string |
+
+| tlsauth_password | string |
+
+| proxyauth | mask | none, basic, digest, gssnegotiate, ntlm, digest_ie, ntlm_wb, only, any, anysafe
+
+| autoreferer | long |
+
+| accept_encoding | string |
+
+| transfer_encoding | long |
+
+| followlocation | long |
+
+| unrestricted_auth | long |
+
+| maxredirs | long |
+
+| postredir | mask | post_301, post_302
+
+| post | long |
+
+| postfields | string |
+
+| postfieldsize | long |
+
+|========================================
diff --git a/doc/fr/weechat_plugin_api.fr.txt b/doc/fr/weechat_plugin_api.fr.txt
index 3aafce46e..ddd94a8ed 100644
--- a/doc/fr/weechat_plugin_api.fr.txt
+++ b/doc/fr/weechat_plugin_api.fr.txt
@@ -6795,7 +6795,8 @@ struct t_hook *weechat_hook_process (const char *command,
Paramètres :
-* 'command' : commande à lancer dans le processus fils
+* 'command' : commande à lancer dans le processus fils ou URL
+ (_nouveau dans la version 0.3.7_), voir ci-dessous
* 'timeout' : timeout pour la commande (en millisecondes) : après ce délai, le
processus fils est tué (0 signifie pas de limite)
* 'callback' : function appelée quand des données du fils sont disponibles, or
@@ -6823,6 +6824,11 @@ Lorsque la commande est terminée, ou si le timeout est atteint, WeeChat
supprimera automatiquement le "hook" (et tuera le processus s'il tourne
toujours).
+La commande peut être une URL avec le format : "url:http://www.example.com",
+pour télécharger le contenu de l'URL (_nouveau dans la version 0.3.7_).
+Des options pour l'URL sont possibles avec la fonction
+<<_weechat_hook_process_hashtable,weechat_hook_process_hashtable>>.
+
[NOTE]
La taille du tampon pour l'envoi des données au "callback" est de 64 Ko (il y a
2 tampons : un pour stdout et un pour stderr).
@@ -6894,6 +6900,131 @@ def my_process_cb(data, command, return_code, out, err):
hook = weechat.hook_process("ls", 5000, "my_process_cb", "")
----------------------------------------
+weechat_hook_process_hashtable
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+_Nouveau dans la version 0.3.7._
+
+Accroche un processus (lancé par un fork) en utilisant des options dans une
+hashtable, et intercepter sa sortie.
+
+Prototype :
+
+[source,C]
+----------------------------------------
+struct t_hook *weechat_hook_process_hashtable (const char *command,
+ struct t_hashtable *options,
+ int timeout,
+ int (*callback)(void *data,
+ const char *command,
+ int return_code,
+ const char *out,
+ const char *err),
+ void *callback_data);
+----------------------------------------
+
+Les paramètres sont les mêmes que ceux de la fonction
+<<_weechat_hook_process,weechat_hook_process>>, avec un paramètre
+supplémentaire :
+
+* 'options' : options pour la commande exécutée (voir le tableau ci-dessous);
+ la hashtable est dupliquée dans la fonction, donc il est possible de la
+ supprimer après cet appel
+
+Pour la commande "url:...", les options suivantes sont disponibles (voir
+`man curl_easy_setopt` pour une description de chaque option) :
+
+include::autogen/plugin_api/url_options.txt[]
+
+[NOTE]
+^(1)^ Lorsque des constantes sont disponibles, elles doivent être utilisées
+comme valeur pour l'option. Pour les options avec le type "mask", le format est :
+"valeur1+valeur2+valeur3".
+
+Pour l'URL, deux options supplémentaires (chaînes) sont autorisées, pour le
+fichier en entrée/sortie :
+
+* 'file_in' : fichier à lire pour envoyer avec l'URL (envoi de fichier "post")
+* 'file_out' : écrire l'URL/fichier dans ce fichier (au lieu de la sortie
+ standard)
+
+Valeur de retour :
+
+* pointeur vers le nouveau "hook", NULL en cas d'erreur
+
+Exemple en C :
+
+[source,C]
+----------------------------------------
+int
+my_process_cb (void *data, const char *command, int return_code,
+ const char *out, const char *err)
+{
+ if (return_code == WEECHAT_HOOK_PROCESS_ERROR)
+ {
+ weechat_printf (NULL, "Erreur avec la commande '%s'", command);
+ return WEECHAT_RC_OK;
+ }
+
+ if (return_code >= 0)
+ {
+ weechat_printf (NULL, "return_code = %d", return_code);
+ }
+
+ if (out)
+ {
+ weechat_printf (NULL, "stdout : %s", out);
+ }
+
+ if (err)
+ {
+ weechat_printf (NULL, "stderr : %s", err);
+ }
+
+ return WEECHAT_RC_OK;
+}
+
+struct t_hashtable *options = weechat_hashtable_new (8,
+ WEECHAT_HASHTABLE_STRING,
+ WEECHAT_HASHTABLE_STRING,
+ NULL,
+ NULL);
+if (hashtable)
+{
+ weechat_hashtable_set (options, "file_out", "/tmp/weechat.org.html");
+ struct t_hook *my_process_hook = weechat_hook_process_hashtable ("url:http://www.weechat.org/",
+ options,
+ 20000,
+ &my_process_cb, NULL);
+ weechat_hashtable_free (options);
+}
+----------------------------------------
+
+Script (Python):
+
+[source,python]
+----------------------------------------
+# prototype
+hook = weechat.hook_process_hashtable(command, options, timeout, callback, callback_data)
+
+# exemple
+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
+
+hook = weechat.hook_process_hashtable("url:http://www.weechat.org/",
+ { "file_out": "/tmp/weechat.org.html" },
+ 20000, "my_process_cb", "")
+----------------------------------------
+
weechat_hook_connect
^^^^^^^^^^^^^^^^^^^^
@@ -13326,7 +13457,7 @@ Script (Python) :
# prototype
hashtable = weechat.hdata_hashtable(hdata, pointer, name)
-# example
+# exemple
hdata = weechat.hdata_get("buffer")
buffer = weechat.buffer_search_main()
hash = weechat.hdata_hashtable(hdata, buffer, "local_variables")
diff --git a/doc/fr/weechat_user.fr.txt b/doc/fr/weechat_user.fr.txt
index 61ea45694..c1fa747af 100644
--- a/doc/fr/weechat_user.fr.txt
+++ b/doc/fr/weechat_user.fr.txt
@@ -92,6 +92,7 @@ compiler WeeChat.
| Paquet ^(1)^ | Version | Requis | Fonctionnalité
| cmake | | *oui* | construction (autotools toujours possible, mais cmake est recommandé)
| libncursesw5-dev ^(2)^ | | *oui* | interface ncurses
+| libcurl4-xxxxx-dev | | *oui* | transfert d'URL
| gettext | | | internationalisation (traduction des messages; la langue de base est l'anglais)
| libgcrypt11-dev | | | authentification SASL avec le serveur IRC, en utilisant le mécanisme DH-BLOWFISH
| libgnutls-dev | ≥ 2.2.0 | | connexion SSL au serveur IRC