script: add option script.scripts.download_enabled (closes #1548)

This commit is contained in:
Sébastien Helleu 2020-09-06 19:15:15 +02:00
parent 9ccf62979f
commit 3c987f3a1c
29 changed files with 417 additions and 95 deletions

View File

@ -26,6 +26,7 @@ New features::
* irc: add pointer to irc_nick in focus of bar item "buffer_nicklist" (issue #1535, issue #1538)
* irc: allow to send text on buffers with commands /allchan, /allpv and /allserv
* irc: evaluate command executed by commands /allchan, /allpv and /allserv (issue #1536)
* script: add option script.scripts.download_enabled (issue #1548)
Bug fixes::

View File

@ -20,6 +20,23 @@ https://weechat.org/files/changelog/ChangeLog-devel.html[ChangeLog]
[[v3.0]]
== Version 3.0 (under dev)
[[v3.0_script_option_download_enabled]]
=== New option to enable download of scripts
A new option has been added to allow the script plugin to download the list of
scripts and the scripts themselves (on weechat.org by default).
This option is `off` by default, so you must opt in if you want to use the
`/script` command, even if you upgraded from an old WeeChat version:
----
/set script.scripts.download_enabled on
----
[NOTE]
When this option is enabled, WeeChat can sometimes download again the list of
scripts when you use the `/script` command, even if you don't install a script.
[[v3.0_irc_commands_allchan_allpv_allserv]]
=== IRC commands /allchan, /allpv and /allserv

View File

@ -3320,6 +3320,12 @@
** Werte: -1 .. 525600
** Standardwert: `+1440+`
* [[option_script.scripts.download_enabled]] *script.scripts.download_enabled*
** Beschreibung: pass:none[enable download of files from the scripts repository when the /script command is used (list of scripts and scripts themselves); the list of scripts is downloaded from the URL specified in the option script.scripts.url; WeeChat will sometimes download again the list of scripts when you use the /script command, even if you don't install a script]
** Typ: boolesch
** Werte: on, off
** Standardwert: `+off+`
* [[option_script.scripts.download_timeout]] *script.scripts.download_timeout*
** Beschreibung: pass:none[Zeitüberschreitung (in Sekunden) beim herunterladen von Skripten und der Skriptliste]
** Typ: integer

View File

@ -3320,6 +3320,12 @@
** values: -1 .. 525600
** default value: `+1440+`
* [[option_script.scripts.download_enabled]] *script.scripts.download_enabled*
** description: pass:none[enable download of files from the scripts repository when the /script command is used (list of scripts and scripts themselves); the list of scripts is downloaded from the URL specified in the option script.scripts.url; WeeChat will sometimes download again the list of scripts when you use the /script command, even if you don't install a script]
** type: boolean
** values: on, off
** default value: `+off+`
* [[option_script.scripts.download_timeout]] *script.scripts.download_timeout*
** description: pass:none[timeout (in seconds) for download of scripts and list of scripts]
** type: integer

View File

@ -3320,6 +3320,12 @@
** valeurs: -1 .. 525600
** valeur par défaut: `+1440+`
* [[option_script.scripts.download_enabled]] *script.scripts.download_enabled*
** description: pass:none[activer le téléchargement des fichiers depuis le dépôt des scripts lorsque la commande /script est utilisée (liste des scripts et les scripts eux-mêmes) ; la liste des scripts est téléchargée depuis l'URL spécifiée dans l'option script.scripts.url ; WeeChat téléchargera parfois à nouveau la liste des scripts quand vous utilisez la commande /script, même si vous n'installez pas un script]
** type: booléen
** valeurs: on, off
** valeur par défaut: `+off+`
* [[option_script.scripts.download_timeout]] *script.scripts.download_timeout*
** description: pass:none[délai d'attente maximum (en secondes) pour le téléchargement des scripts et de la liste des scripts]
** type: entier

View File

@ -3320,6 +3320,12 @@
** valori: -1 .. 525600
** valore predefinito: `+1440+`
* [[option_script.scripts.download_enabled]] *script.scripts.download_enabled*
** descrizione: pass:none[enable download of files from the scripts repository when the /script command is used (list of scripts and scripts themselves); the list of scripts is downloaded from the URL specified in the option script.scripts.url; WeeChat will sometimes download again the list of scripts when you use the /script command, even if you don't install a script]
** tipo: bool
** valori: on, off
** valore predefinito: `+off+`
* [[option_script.scripts.download_timeout]] *script.scripts.download_timeout*
** descrizione: pass:none[timeout (in seconds) for download of scripts and list of scripts]
** tipo: intero

View File

@ -3320,6 +3320,12 @@
** 値: -1 .. 525600
** デフォルト値: `+1440+`
* [[option_script.scripts.download_enabled]] *script.scripts.download_enabled*
** 説明: pass:none[enable download of files from the scripts repository when the /script command is used (list of scripts and scripts themselves); the list of scripts is downloaded from the URL specified in the option script.scripts.url; WeeChat will sometimes download again the list of scripts when you use the /script command, even if you don't install a script]
** タイプ: ブール
** 値: on, off
** デフォルト値: `+off+`
* [[option_script.scripts.download_timeout]] *script.scripts.download_timeout*
** 説明: pass:none[スクリプトのダウンロードとスクリプトのリストに対するタイムアウト時間 (秒単位)]
** タイプ: 整数

View File

@ -3320,6 +3320,12 @@
** wartości: -1 .. 525600
** domyślna wartość: `+1440+`
* [[option_script.scripts.download_enabled]] *script.scripts.download_enabled*
** opis: pass:none[enable download of files from the scripts repository when the /script command is used (list of scripts and scripts themselves); the list of scripts is downloaded from the URL specified in the option script.scripts.url; WeeChat will sometimes download again the list of scripts when you use the /script command, even if you don't install a script]
** typ: bool
** wartości: on, off
** domyślna wartość: `+off+`
* [[option_script.scripts.download_timeout]] *script.scripts.download_timeout*
** opis: pass:none[czas oczekiwania (w sekundach) na pobranie skryptu i listy skryptów]
** typ: liczba

View File

@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2020-08-09 10:51+0200\n"
"POT-Creation-Date: 2020-09-06 12:40+0200\n"
"PO-Revision-Date: 2020-04-28 16:40+0200\n"
"Last-Translator: Ondřej Súkup <mimi.vx@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@ -11600,6 +11600,12 @@ msgstr "Skripty"
msgid "Script manager"
msgstr "Správce skriptů"
#, c-format
msgid ""
"%s%s: download of scripts is disabled by default; see /help script.scripts."
"download_enabled"
msgstr ""
#, fuzzy
msgid "WeeChat script manager"
msgstr "správce skriptů WeeChatu"
@ -11935,6 +11941,14 @@ msgid ""
"expire)"
msgstr ""
msgid ""
"enable download of files from the scripts repository when the /script "
"command is used (list of scripts and scripts themselves); the list of "
"scripts is downloaded from the URL specified in the option script.scripts."
"url; WeeChat will sometimes download again the list of scripts when you use "
"the /script command, even if you don't install a script"
msgstr ""
#, fuzzy
msgid "timeout (in seconds) for download of scripts and list of scripts"
msgstr "časový limit (v sekundách) pro gnutls handshake"

View File

@ -24,7 +24,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2020-08-09 10:51+0200\n"
"POT-Creation-Date: 2020-09-06 12:40+0200\n"
"PO-Revision-Date: 2020-08-11 18:40+0200\n"
"Last-Translator: Nils Görs <weechatter@arcor.de>\n"
"Language-Team: German <kde-i18n-de@kde.org>\n"
@ -13653,6 +13653,12 @@ msgstr "Skripten"
msgid "Script manager"
msgstr "Skriptmanager"
#, c-format
msgid ""
"%s%s: download of scripts is disabled by default; see /help script.scripts."
"download_enabled"
msgstr ""
msgid "WeeChat script manager"
msgstr "WeeChat Skriptmanager"
@ -14028,6 +14034,14 @@ msgstr ""
"Ablaufdatum des lokalen Caches, in Minuten (-1 = ohne Ablaufdatum, 0 = "
"umgehend)"
msgid ""
"enable download of files from the scripts repository when the /script "
"command is used (list of scripts and scripts themselves); the list of "
"scripts is downloaded from the URL specified in the option script.scripts."
"url; WeeChat will sometimes download again the list of scripts when you use "
"the /script command, even if you don't install a script"
msgstr ""
msgid "timeout (in seconds) for download of scripts and list of scripts"
msgstr ""
"Zeitüberschreitung (in Sekunden) beim herunterladen von Skripten und der "

View File

@ -22,7 +22,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2020-08-09 10:51+0200\n"
"POT-Creation-Date: 2020-09-06 12:40+0200\n"
"PO-Revision-Date: 2020-04-28 16:40+0200\n"
"Last-Translator: Elián Hanisch <lambdae2@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@ -11942,6 +11942,12 @@ msgstr ""
msgid "Script manager"
msgstr "Administración de scripts"
#, c-format
msgid ""
"%s%s: download of scripts is disabled by default; see /help script.scripts."
"download_enabled"
msgstr ""
#, fuzzy
msgid "WeeChat script manager"
msgstr "Administrador de scripts de WeeChat"
@ -12193,6 +12199,14 @@ msgid ""
"expire)"
msgstr ""
msgid ""
"enable download of files from the scripts repository when the /script "
"command is used (list of scripts and scripts themselves); the list of "
"scripts is downloaded from the URL specified in the option script.scripts."
"url; WeeChat will sometimes download again the list of scripts when you use "
"the /script command, even if you don't install a script"
msgstr ""
#, fuzzy
msgid "timeout (in seconds) for download of scripts and list of scripts"
msgstr ""

View File

@ -21,8 +21,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2020-08-09 10:51+0200\n"
"PO-Revision-Date: 2020-08-09 10:53+0200\n"
"POT-Creation-Date: 2020-09-06 12:40+0200\n"
"PO-Revision-Date: 2020-09-06 12:44+0200\n"
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: fr\n"
@ -13370,6 +13370,14 @@ msgstr "Scripts"
msgid "Script manager"
msgstr "Gestionnaire de scripts"
#, c-format
msgid ""
"%s%s: download of scripts is disabled by default; see /help script.scripts."
"download_enabled"
msgstr ""
"%s%s : le téléchargement des scripts est désactivé par défaut ; voir /help "
"script.scripts.download_enabled"
msgid "WeeChat script manager"
msgstr "Gestionnaire de scripts WeeChat"
@ -13731,6 +13739,20 @@ msgstr ""
"temps d'expiration du cache local, en minutes (-1 = n'expire jamais, 0 = "
"expire toujours)"
msgid ""
"enable download of files from the scripts repository when the /script "
"command is used (list of scripts and scripts themselves); the list of "
"scripts is downloaded from the URL specified in the option script.scripts."
"url; WeeChat will sometimes download again the list of scripts when you use "
"the /script command, even if you don't install a script"
msgstr ""
"activer le téléchargement des fichiers depuis le dépôt des scripts lorsque "
"la commande /script est utilisée (liste des scripts et les scripts eux-"
"mêmes) ; la liste des scripts est téléchargée depuis l'URL spécifiée dans "
"l'option script.scripts.url ; WeeChat téléchargera parfois à nouveau la "
"liste des scripts quand vous utilisez la commande /script, même si vous "
"n'installez pas un script"
msgid "timeout (in seconds) for download of scripts and list of scripts"
msgstr ""
"délai d'attente maximum (en secondes) pour le téléchargement des scripts et "

View File

@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2020-08-09 10:51+0200\n"
"POT-Creation-Date: 2020-09-06 12:40+0200\n"
"PO-Revision-Date: 2020-04-28 16:40+0200\n"
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@ -10937,6 +10937,12 @@ msgstr ""
msgid "Script manager"
msgstr "WeeChat szlogen"
#, c-format
msgid ""
"%s%s: download of scripts is disabled by default; see /help script.scripts."
"download_enabled"
msgstr ""
#, fuzzy
msgid "WeeChat script manager"
msgstr "WeeChat szlogen"
@ -11200,6 +11206,14 @@ msgid ""
"expire)"
msgstr ""
msgid ""
"enable download of files from the scripts repository when the /script "
"command is used (list of scripts and scripts themselves); the list of "
"scripts is downloaded from the URL specified in the option script.scripts."
"url; WeeChat will sometimes download again the list of scripts when you use "
"the /script command, even if you don't install a script"
msgstr ""
#, fuzzy
msgid "timeout (in seconds) for download of scripts and list of scripts"
msgstr "SSL használata a a kapcsolathoz"

View File

@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2020-08-09 10:51+0200\n"
"POT-Creation-Date: 2020-09-06 12:40+0200\n"
"PO-Revision-Date: 2020-04-28 16:40+0200\n"
"Last-Translator: Esteban I. Ruiz Moreno <exio4.com@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@ -12155,6 +12155,12 @@ msgstr "Script"
msgid "Script manager"
msgstr "Gestore script"
#, c-format
msgid ""
"%s%s: download of scripts is disabled by default; see /help script.scripts."
"download_enabled"
msgstr ""
#, fuzzy
msgid "WeeChat script manager"
msgstr "Gestore script di WeeChat"
@ -12413,6 +12419,14 @@ msgid ""
"expire)"
msgstr ""
msgid ""
"enable download of files from the scripts repository when the /script "
"command is used (list of scripts and scripts themselves); the list of "
"scripts is downloaded from the URL specified in the option script.scripts."
"url; WeeChat will sometimes download again the list of scripts when you use "
"the /script command, even if you don't install a script"
msgstr ""
#, fuzzy
msgid "timeout (in seconds) for download of scripts and list of scripts"
msgstr ""

View File

@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2020-08-09 10:51+0200\n"
"POT-Creation-Date: 2020-09-06 12:40+0200\n"
"PO-Revision-Date: 2020-04-28 16:40+0200\n"
"Last-Translator: AYANOKOUZI, Ryuunosuke <i38w7i3@yahoo.co.jp>\n"
"Language-Team: Japanese <https://github.com/l/weechat/tree/master/"
@ -12811,6 +12811,12 @@ msgstr "スクリプト"
msgid "Script manager"
msgstr "スクリプトマネージャ"
#, c-format
msgid ""
"%s%s: download of scripts is disabled by default; see /help script.scripts."
"download_enabled"
msgstr ""
msgid "WeeChat script manager"
msgstr "WeeChat スクリプトマネージャ"
@ -13148,6 +13154,14 @@ msgstr ""
"ローカルキャッシュが無効になる時間、分単位 (-1 = 再取得しない、0 = 常に再取"
"得)"
msgid ""
"enable download of files from the scripts repository when the /script "
"command is used (list of scripts and scripts themselves); the list of "
"scripts is downloaded from the URL specified in the option script.scripts."
"url; WeeChat will sometimes download again the list of scripts when you use "
"the /script command, even if you don't install a script"
msgstr ""
msgid "timeout (in seconds) for download of scripts and list of scripts"
msgstr ""
"スクリプトのダウンロードとスクリプトのリストに対するタイムアウト時間 (秒単位)"

View File

@ -22,7 +22,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2020-08-09 10:51+0200\n"
"POT-Creation-Date: 2020-09-06 12:40+0200\n"
"PO-Revision-Date: 2020-04-28 16:40+0200\n"
"Last-Translator: Krzysztof Korościk <soltys@soltys.info>\n"
"Language-Team: Polish <kde-i18n-doc@kde.org>\n"
@ -13046,6 +13046,12 @@ msgstr "Skrypty"
msgid "Script manager"
msgstr "Manager skryptów"
#, c-format
msgid ""
"%s%s: download of scripts is disabled by default; see /help script.scripts."
"download_enabled"
msgstr ""
msgid "WeeChat script manager"
msgstr "Manager skryptów WeeChat"
@ -13392,6 +13398,14 @@ msgstr ""
"lokalnie zapisany czas wygaśnięcia, w minutach (-1 = nigdy nie wygasa, 0 = "
"zawsze wygasa)"
msgid ""
"enable download of files from the scripts repository when the /script "
"command is used (list of scripts and scripts themselves); the list of "
"scripts is downloaded from the URL specified in the option script.scripts."
"url; WeeChat will sometimes download again the list of scripts when you use "
"the /script command, even if you don't install a script"
msgstr ""
msgid "timeout (in seconds) for download of scripts and list of scripts"
msgstr "czas oczekiwania (w sekundach) na pobranie skryptu i listy skryptów"

View File

@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2020-08-09 10:51+0200\n"
"POT-Creation-Date: 2020-09-06 12:40+0200\n"
"PO-Revision-Date: 2020-04-28 16:40+0200\n"
"Last-Translator: Vasco Almeida <vascomalmeida@sapo.pt>\n"
"Language-Team: Portuguese <>\n"
@ -12621,6 +12621,12 @@ msgstr "Scripts"
msgid "Script manager"
msgstr "Gestor de scripts"
#, c-format
msgid ""
"%s%s: download of scripts is disabled by default; see /help script.scripts."
"download_enabled"
msgstr ""
#, fuzzy
msgid "WeeChat script manager"
msgstr "Gestor de scripts do WeeChat"
@ -12966,6 +12972,14 @@ msgstr ""
"data de expiração da cache local, em minutos (-1 = nunca expirar, 0 = "
"expirar sempre)"
msgid ""
"enable download of files from the scripts repository when the /script "
"command is used (list of scripts and scripts themselves); the list of "
"scripts is downloaded from the URL specified in the option script.scripts."
"url; WeeChat will sometimes download again the list of scripts when you use "
"the /script command, even if you don't install a script"
msgstr ""
msgid "timeout (in seconds) for download of scripts and list of scripts"
msgstr "tempo limite (em segundo) para transferir scripts e a lista de scripts"

View File

@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2020-08-09 10:51+0200\n"
"POT-Creation-Date: 2020-09-06 12:40+0200\n"
"PO-Revision-Date: 2020-04-18 11:34+0200\n"
"Last-Translator: Eduardo Elias <camponez@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@ -11400,6 +11400,12 @@ msgstr ""
msgid "Script manager"
msgstr "site do WeeChat"
#, c-format
msgid ""
"%s%s: download of scripts is disabled by default; see /help script.scripts."
"download_enabled"
msgstr ""
#, fuzzy
msgid "WeeChat script manager"
msgstr "site do WeeChat"
@ -11663,6 +11669,14 @@ msgid ""
"expire)"
msgstr ""
msgid ""
"enable download of files from the scripts repository when the /script "
"command is used (list of scripts and scripts themselves); the list of "
"scripts is downloaded from the URL specified in the option script.scripts."
"url; WeeChat will sometimes download again the list of scripts when you use "
"the /script command, even if you don't install a script"
msgstr ""
# better not translate handshake
#, fuzzy
msgid "timeout (in seconds) for download of scripts and list of scripts"

View File

@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2020-08-09 10:51+0200\n"
"POT-Creation-Date: 2020-09-06 12:40+0200\n"
"PO-Revision-Date: 2020-04-28 16:40+0200\n"
"Last-Translator: Aleksey V Zapparov AKA ixti <ixti@member.fsf.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@ -10973,6 +10973,12 @@ msgstr ""
msgid "Script manager"
msgstr "слоган WeeChat"
#, c-format
msgid ""
"%s%s: download of scripts is disabled by default; see /help script.scripts."
"download_enabled"
msgstr ""
#, fuzzy
msgid "WeeChat script manager"
msgstr "слоган WeeChat"
@ -11236,6 +11242,14 @@ msgid ""
"expire)"
msgstr ""
msgid ""
"enable download of files from the scripts repository when the /script "
"command is used (list of scripts and scripts themselves); the list of "
"scripts is downloaded from the URL specified in the option script.scripts."
"url; WeeChat will sometimes download again the list of scripts when you use "
"the /script command, even if you don't install a script"
msgstr ""
#, fuzzy
msgid "timeout (in seconds) for download of scripts and list of scripts"
msgstr "использовать SSL при связи с сервером"

View File

@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2020-08-09 10:51+0200\n"
"POT-Creation-Date: 2020-09-06 12:40+0200\n"
"PO-Revision-Date: 2019-11-03 08:38+0100\n"
"Last-Translator: Hasan Kiran <sunder67@hotmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@ -9993,6 +9993,12 @@ msgstr "Betikler"
msgid "Script manager"
msgstr "Betik yöneticisi"
#, c-format
msgid ""
"%s%s: download of scripts is disabled by default; see /help script.scripts."
"download_enabled"
msgstr ""
#, fuzzy
msgid "WeeChat script manager"
msgstr "WeeChat betik yöneticisi"
@ -10238,6 +10244,14 @@ msgid ""
"expire)"
msgstr ""
msgid ""
"enable download of files from the scripts repository when the /script "
"command is used (list of scripts and scripts themselves); the list of "
"scripts is downloaded from the URL specified in the option script.scripts."
"url; WeeChat will sometimes download again the list of scripts when you use "
"the /script command, even if you don't install a script"
msgstr ""
msgid "timeout (in seconds) for download of scripts and list of scripts"
msgstr ""

View File

@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2020-08-09 10:51+0200\n"
"POT-Creation-Date: 2020-09-06 12:40+0200\n"
"PO-Revision-Date: 2014-08-16 10:27+0200\n"
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@ -9852,6 +9852,12 @@ msgstr ""
msgid "Script manager"
msgstr ""
#, c-format
msgid ""
"%s%s: download of scripts is disabled by default; see /help script.scripts."
"download_enabled"
msgstr ""
msgid "WeeChat script manager"
msgstr ""
@ -10089,6 +10095,14 @@ msgid ""
"expire)"
msgstr ""
msgid ""
"enable download of files from the scripts repository when the /script "
"command is used (list of scripts and scripts themselves); the list of "
"scripts is downloaded from the URL specified in the option script.scripts."
"url; WeeChat will sometimes download again the list of scripts when you use "
"the /script command, even if you don't install a script"
msgstr ""
msgid "timeout (in seconds) for download of scripts and list of scripts"
msgstr ""

View File

@ -35,10 +35,10 @@
#include "script-repo.h"
char *script_actions = NULL;
char **script_actions = NULL;
void script_action_install (int quiet);
void script_action_run_install (int quiet);
/*
@ -46,7 +46,7 @@ void script_action_install (int quiet);
*/
void
script_action_list ()
script_action_run_list ()
{
int i, scripts_loaded;
char hdata_name[128];
@ -100,7 +100,7 @@ script_action_list ()
*/
void
script_action_list_input (int send_to_buffer, int translated)
script_action_run_list_input (int send_to_buffer, int translated)
{
int i, length;
char hdata_name[128], **buf, str_pos[16];
@ -176,7 +176,7 @@ script_action_list_input (int send_to_buffer, int translated)
*/
void
script_action_load (const char *name, int quiet)
script_action_run_load (const char *name, int quiet)
{
char *pos, str_command[1024];
int language;
@ -219,7 +219,7 @@ script_action_load (const char *name, int quiet)
*/
void
script_action_unload (const char *name, int quiet)
script_action_run_unload (const char *name, int quiet)
{
char *pos, hdata_name[128], *filename, *ptr_base_name, str_command[1024];
const char *ptr_filename, *ptr_registered_name;
@ -324,7 +324,7 @@ script_action_unload (const char *name, int quiet)
*/
void
script_action_reload (const char *name, int quiet)
script_action_run_reload (const char *name, int quiet)
{
char *pos, hdata_name[128], *filename, *ptr_base_name, str_command[1024];
const char *ptr_filename, *ptr_registered_name;
@ -434,7 +434,7 @@ script_action_reload (const char *name, int quiet)
*/
void
script_action_autoload (const char *name, int quiet, int autoload)
script_action_run_autoload (const char *name, int quiet, int autoload)
{
struct t_script_repo *ptr_script;
char str_signal[256], *filename;
@ -509,7 +509,7 @@ script_action_installnext_timer_cb (const void *pointer, void *data,
(void) data;
(void) remaining_calls;
script_action_install ((pointer) ? 1 : 0);
script_action_run_install ((pointer) ? 1 : 0);
return WEECHAT_RC_OK;
}
@ -630,12 +630,15 @@ script_action_get_next_script_to_install ()
*/
void
script_action_install (int quiet)
script_action_run_install (int quiet)
{
struct t_script_repo *ptr_script_to_install;
char *filename, *url;
struct t_hashtable *options;
if (!script_download_enabled ())
return;
while (1)
{
ptr_script_to_install = script_action_get_next_script_to_install ();
@ -701,7 +704,7 @@ script_action_install (int quiet)
*/
void
script_action_remove (const char *name, int quiet)
script_action_run_remove (const char *name, int quiet)
{
struct t_script_repo *ptr_script;
char str_signal[256], *filename;
@ -783,7 +786,7 @@ script_action_remove (const char *name, int quiet)
*/
int
script_action_hold (const char *name, int quiet)
script_action_run_hold (const char *name, int quiet)
{
struct t_script_repo *ptr_script;
@ -1071,12 +1074,15 @@ script_action_show_source_process_cb (const void *pointer, void *data,
*/
void
script_action_show (const char *name, int quiet)
script_action_run_show (const char *name, int quiet)
{
struct t_script_repo *ptr_script;
char *filename, *url;
struct t_hashtable *options;
if (!script_download_enabled ())
return;
if (name)
{
ptr_script = script_repo_search_by_name_ext (name);
@ -1148,7 +1154,7 @@ script_action_show (const char *name, int quiet)
*/
void
script_action_showdiff ()
script_action_run_showdiff ()
{
char str_command[64];
struct t_gui_window *window;
@ -1180,6 +1186,40 @@ script_action_showdiff ()
}
}
/*
* Adds an action to list of actions.
*/
void
script_action_add (const char *action)
{
if (!action)
return;
if (!script_actions)
{
script_actions = weechat_string_dyn_alloc (256);
if (!script_actions)
return;
}
if (*script_actions[0])
weechat_string_dyn_concat (script_actions, "\n", -1);
weechat_string_dyn_concat (script_actions, action, -1);
}
/*
* Clears list of actions.
*/
void
script_action_clear ()
{
if (script_actions)
weechat_string_dyn_copy (script_actions, NULL);
}
/*
* Runs planned actions.
*
@ -1189,18 +1229,18 @@ script_action_showdiff ()
*/
int
script_action_run ()
script_action_run_all ()
{
char **actions, **argv, **argv_eol, *ptr_action;
int num_actions, argc, i, j, quiet, script_found;
struct t_script_repo *ptr_script;
if (!script_actions)
if (!script_actions || !script_actions[0])
return 0;
script_get_loaded_plugins ();
actions = weechat_string_split (script_actions, "\n", NULL,
actions = weechat_string_split (*script_actions, "\n", NULL,
WEECHAT_STRING_SPLIT_STRIP_LEFT
| WEECHAT_STRING_SPLIT_STRIP_RIGHT
| WEECHAT_STRING_SPLIT_COLLAPSE_SEPS,
@ -1269,59 +1309,59 @@ script_action_run ()
if (argc > 1)
{
if (weechat_strcasecmp (argv[1], "-i") == 0)
script_action_list_input (0, 0);
script_action_run_list_input (0, 0);
else if (weechat_strcasecmp (argv[1], "-il") == 0)
script_action_list_input (0, 1);
script_action_run_list_input (0, 1);
else if (weechat_strcasecmp (argv[1], "-o") == 0)
script_action_list_input (1, 0);
script_action_run_list_input (1, 0);
else if (weechat_strcasecmp (argv[1], "-ol") == 0)
script_action_list_input (1, 1);
script_action_run_list_input (1, 1);
else
script_action_list ();
script_action_run_list ();
}
else
script_action_list ();
script_action_run_list ();
}
else if (weechat_strcasecmp (argv[0], "load") == 0)
{
for (j = 1; j < argc; j++)
{
script_action_load (argv[j], quiet);
script_action_run_load (argv[j], quiet);
}
}
else if (weechat_strcasecmp (argv[0], "unload") == 0)
{
for (j = 1; j < argc; j++)
{
script_action_unload (argv[j], quiet);
script_action_run_unload (argv[j], quiet);
}
}
else if (weechat_strcasecmp (argv[0], "reload") == 0)
{
for (j = 1; j < argc; j++)
{
script_action_reload (argv[j], quiet);
script_action_run_reload (argv[j], quiet);
}
}
else if (weechat_strcasecmp (argv[0], "autoload") == 0)
{
for (j = 1; j < argc; j++)
{
script_action_autoload (argv[j], quiet, 1);
script_action_run_autoload (argv[j], quiet, 1);
}
}
else if (weechat_strcasecmp (argv[0], "noautoload") == 0)
{
for (j = 1; j < argc; j++)
{
script_action_autoload (argv[j], quiet, 0);
script_action_run_autoload (argv[j], quiet, 0);
}
}
else if (weechat_strcasecmp (argv[0], "toggleautoload") == 0)
{
for (j = 1; j < argc; j++)
{
script_action_autoload (argv[j], quiet, -1);
script_action_run_autoload (argv[j], quiet, -1);
}
}
else if (weechat_strcasecmp (argv[0], "install") == 0)
@ -1360,13 +1400,13 @@ script_action_run ()
}
}
if (script_found)
script_action_install (quiet);
script_action_run_install (quiet);
}
else if (weechat_strcasecmp (argv[0], "remove") == 0)
{
for (j = 1; j < argc; j++)
{
script_action_remove (argv[j], quiet);
script_action_run_remove (argv[j], quiet);
}
}
else if (weechat_strcasecmp (argv[0], "installremove") == 0)
@ -1385,7 +1425,7 @@ script_action_run ()
}
else if (ptr_script->status & SCRIPT_STATUS_INSTALLED)
{
script_action_remove (argv[j], quiet);
script_action_run_remove (argv[j], quiet);
}
else
{
@ -1401,14 +1441,14 @@ script_action_run ()
}
}
if (script_found)
script_action_install (quiet);
script_action_run_install (quiet);
}
else if (weechat_strcasecmp (argv[0], "hold") == 0)
{
script_found = 0;
for (j = 1; j < argc; j++)
{
if (script_action_hold (argv[j], quiet))
if (script_action_run_hold (argv[j], quiet))
script_found = 1;
}
if (script_found)
@ -1418,13 +1458,13 @@ script_action_run ()
{
if (!script_buffer)
script_buffer_open ();
script_action_show ((argc >= 2) ? argv[1] : NULL,
quiet);
script_action_run_show ((argc >= 2) ? argv[1] : NULL,
quiet);
weechat_buffer_set (script_buffer, "display", "1");
}
else if (weechat_strcasecmp (argv[0], "showdiff") == 0)
{
script_action_showdiff ();
script_action_run_showdiff ();
}
else if (weechat_strcasecmp (argv[0], "upgrade") == 0)
{
@ -1445,7 +1485,7 @@ script_action_run ()
}
}
if (script_found)
script_action_install (quiet);
script_action_run_install (quiet);
else
{
weechat_printf (NULL,
@ -1462,41 +1502,11 @@ script_action_run ()
weechat_string_free_split (actions);
}
free (script_actions);
script_actions = NULL;
script_action_clear ();
return 1;
}
/*
* Adds an action to list of actions.
*/
void
script_action_add (const char *action)
{
char *new_actions;
if (!action)
return;
if (script_actions)
{
new_actions = realloc (script_actions,
strlen (script_actions) + 1 + strlen (action) + 1);
if (!new_actions)
return;
script_actions = new_actions;
strcat (script_actions, "\n");
strcat (script_actions, action);
}
else
{
script_actions = strdup (action);
}
}
/*
* Schedules an action.
*
@ -1507,10 +1517,11 @@ script_action_add (const char *action)
void
script_action_schedule (const char *action, int need_repository, int quiet)
{
script_action_add (action);
/* create again "script" directory, just in case it has been removed */
weechat_mkdir_home (SCRIPT_PLUGIN_NAME, 0755);
if (!weechat_mkdir_home (SCRIPT_PLUGIN_NAME, 0755))
return;
script_action_add (action);
if (need_repository)
{
@ -1518,11 +1529,28 @@ script_action_schedule (const char *action, int need_repository, int quiet)
{
if (!scripts_repo)
script_repo_file_read (quiet);
script_action_run ();
script_action_run_all ();
}
else
script_repo_file_update (quiet);
{
if (!script_repo_file_update (quiet))
script_action_clear ();
}
}
else
script_action_run ();
script_action_run_all ();
}
/*
* Ends script action.
*/
void
script_action_end ()
{
if (script_actions)
{
weechat_string_dyn_free (script_actions, 1);
script_actions = NULL;
}
}

View File

@ -20,10 +20,11 @@
#ifndef WEECHAT_PLUGIN_SCRIPT_ACTION_H
#define WEECHAT_PLUGIN_SCRIPT_ACTION_H
extern char *script_actions;
extern char **script_actions;
extern int script_action_run ();
extern int script_action_run_all ();
extern void script_action_schedule (const char *action, int need_repository,
int quiet);
extern void script_action_end ();
#endif /* WEECHAT_PLUGIN_SCRIPT_ACTION_H */

View File

@ -79,6 +79,7 @@ struct t_config_option *script_config_color_text_version_selected;
struct t_config_option *script_config_scripts_autoload;
struct t_config_option *script_config_scripts_cache_expire;
struct t_config_option *script_config_scripts_download_enabled;
struct t_config_option *script_config_scripts_download_timeout;
struct t_config_option *script_config_scripts_hold;
struct t_config_option *script_config_scripts_path;
@ -753,6 +754,17 @@ script_config_init ()
"0 = always expire)"),
NULL, -1, 525600, "1440", NULL, 0,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
script_config_scripts_download_enabled = weechat_config_new_option (
script_config_file, ptr_section,
"download_enabled", "boolean",
N_("enable download of files from the scripts repository when the "
"/script command is used (list of scripts and scripts themselves); "
"the list of scripts is downloaded from the URL specified in the "
"option script.scripts.url; WeeChat will sometimes download again "
"the list of scripts when you use the /script command, even if "
"you don't install a script"),
NULL, 0, 0, "off", NULL, 0,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
script_config_scripts_download_timeout = weechat_config_new_option (
script_config_file, ptr_section,
"download_timeout", "integer",

View File

@ -62,6 +62,7 @@ extern struct t_config_option *script_config_color_text_version_selected;
extern struct t_config_option *script_config_scripts_autoload;
extern struct t_config_option *script_config_scripts_cache_expire;
extern struct t_config_option *script_config_scripts_download_enabled;
extern struct t_config_option *script_config_scripts_download_timeout;
extern struct t_config_option *script_config_scripts_hold;
extern struct t_config_option *script_config_scripts_path;

View File

@ -1478,7 +1478,7 @@ script_repo_file_update_process_cb (const void *pointer, void *data,
{
if (script_buffer)
script_buffer_refresh (1);
if (!script_action_run ())
if (!script_action_run_all ())
script_buffer_refresh (1);
}
else
@ -1490,19 +1490,26 @@ script_repo_file_update_process_cb (const void *pointer, void *data,
/*
* Updates repository file and reads it.
*
* Returns:
* 0: error
* 1: OK
*/
void
int
script_repo_file_update (int quiet)
{
char *filename, *url;
struct t_hashtable *options;
if (!script_download_enabled ())
return 0;
script_repo_remove_all ();
filename = script_config_get_xml_filename ();
if (!filename)
return;
return 0;
options = weechat_hashtable_new (32,
WEECHAT_HASHTABLE_STRING,
@ -1534,6 +1541,8 @@ script_repo_file_update (int quiet)
}
free (filename);
return 1;
}
/*

View File

@ -80,7 +80,7 @@ extern void script_repo_filter_scripts (const char *search);
extern int script_repo_file_exists ();
extern int script_repo_file_is_uptodate ();
extern int script_repo_file_read (int quiet);
extern void script_repo_file_update (int quiet);
extern int script_repo_file_update (int quiet);
extern struct t_hdata *script_repo_hdata_script_cb (const void *pointer,
void *data,
const char *hdata_name);

View File

@ -27,6 +27,7 @@
#include "../weechat-plugin.h"
#include "script.h"
#include "script-action.h"
#include "script-buffer.h"
#include "script-command.h"
#include "script-completion.h"
@ -97,6 +98,29 @@ script_language_search_by_extension (const char *extension)
return -1;
}
/*
* Checks if download of scripts is enabled.
*
* Returns:
* 0: download NOT enabled (an error is displayed)
* 1: download enabled
*/
int
script_download_enabled ()
{
if (weechat_config_boolean (script_config_scripts_download_enabled))
return 1;
/* download not enabled: display an error */
weechat_printf (NULL,
_("%s%s: download of scripts is disabled by default; "
"see /help script.scripts.download_enabled"),
weechat_prefix ("error"),
SCRIPT_PLUGIN_NAME);
return 0;
}
/*
* Builds download URL (to use with hook_process or hook_process_hashtable).
*
@ -394,5 +418,7 @@ weechat_plugin_end (struct t_weechat_plugin *plugin)
script_config_free ();
script_action_end ();
return WEECHAT_RC_OK;
}

View File

@ -34,6 +34,7 @@ extern struct t_hashtable *script_loaded;
extern int script_language_search (const char *language);
extern int script_language_search_by_extension (const char *extension);
extern int script_download_enabled ();
extern char *script_build_download_url (const char *url);
extern void script_get_loaded_plugins ();
extern void script_get_scripts ();