Add signal "day_changed", allow date format in logger options path and mask (task #9430)
parent
aa41942ac1
commit
99bfdfd2ff
|
@ -1,14 +1,16 @@
|
|||
WeeChat ChangeLog
|
||||
=================
|
||||
FlashCode <flashcode@flashtux.org>
|
||||
v0.3.2-dev, 2010-01-25
|
||||
v0.3.2-dev, 2010-01-26
|
||||
|
||||
|
||||
Version 0.3.2 (under dev!)
|
||||
--------------------------
|
||||
* core: add signal "day_changed"
|
||||
* api: add missing infos in functions buffer_get_integer / buffer_get_string
|
||||
and in buffer infolist
|
||||
* irc: add options irc.look.smart_filter_join and irc.look.smart_filter_quit
|
||||
* logger: allow date format in logger options path and mask (task #9430)
|
||||
|
||||
Version 0.3.1 (2010-01-23)
|
||||
--------------------------
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
** values: on, off (default value: off)
|
||||
|
||||
* *logger.file.mask*
|
||||
** description: default file name mask for log files (format is "directory/to/file" or "file", without first "/" because "path" option is used to build complete path to file); local buffer variables are permitted
|
||||
** description: default file name mask for log files (format is "directory/to/file" or "file", without first "/" because "path" option is used to build complete path to file); local buffer variables are permitted; date specifiers are permitted (see man strftime)
|
||||
** type: string
|
||||
** values: any string (default value: "$plugin.$name.weechatlog")
|
||||
|
||||
|
@ -19,7 +19,7 @@
|
|||
** values: on, off (default value: on)
|
||||
|
||||
* *logger.file.path*
|
||||
** description: path for WeeChat log files ("%h" will be replaced by WeeChat home, "~/.weechat" by default)
|
||||
** description: path for WeeChat log files; "%h" at beginning of string is replaced by WeeChat home ("~/.weechat" by default); date specifiers are permitted (see man strftime)
|
||||
** type: string
|
||||
** values: any string (default value: "%h/logs/")
|
||||
|
||||
|
|
|
@ -5389,7 +5389,7 @@ Arguments:
|
|||
|
||||
* 'signal': signal to catch, can begin or end with "*":
|
||||
|
||||
[width="80%",cols="^1,^3,^3,5",options="header"]
|
||||
[width="100%",cols="^1,^3,^4,5",options="header"]
|
||||
|========================================
|
||||
| Plugin | Signal | Arguments | Description
|
||||
|
||||
|
@ -5477,6 +5477,9 @@ Arguments:
|
|||
| weechat | buffer_type_changed | pointer: buffer |
|
||||
type of buffer changed
|
||||
|
||||
| weechat | day_changed | string: new date, format: "2010-01-31" |
|
||||
day of system date has changed
|
||||
|
||||
| weechat | debug_dump | - |
|
||||
dump request
|
||||
|
||||
|
|
|
@ -149,12 +149,12 @@
|
|||
** valeurs: 1 .. 10080 (valeur par défaut: 5)
|
||||
|
||||
* *irc.look.smart_filter_join*
|
||||
** description: enable smart filter for "join" messages
|
||||
** description: activer le filtre intelligent pour les messages "join"
|
||||
** type: booléen
|
||||
** valeurs: on, off (valeur par défaut: on)
|
||||
|
||||
* *irc.look.smart_filter_quit*
|
||||
** description: enable smart filter for "part" and "quit" messages
|
||||
** description: activer le filtre intelligent pour les messages "part" et "quit"
|
||||
** type: booléen
|
||||
** valeurs: on, off (valeur par défaut: on)
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
** valeurs: on, off (valeur par défaut: off)
|
||||
|
||||
* *logger.file.mask*
|
||||
** description: masque de fichier par défaut pour les fichiers de log (le format est "repertoire/vers/fichier" ou "fichier", sans le premier "/" car l'option "path" est utilisée pour construire le chemin complet vers le fichier); les variables locales du tampon sont permises
|
||||
** description: masque de fichier par défaut pour les fichiers de log (le format est "repertoire/vers/fichier" ou "fichier", sans le premier "/" car l'option "path" est utilisée pour construire le chemin complet vers le fichier); les variables locales du tampon sont permises; les caractères de formatage de date sont autorisés (voir man strftime)
|
||||
** type: chaîne
|
||||
** valeurs: toute chaîne (valeur par défaut: "$plugin.$name.weechatlog")
|
||||
|
||||
|
@ -19,7 +19,7 @@
|
|||
** valeurs: on, off (valeur par défaut: on)
|
||||
|
||||
* *logger.file.path*
|
||||
** description: chemin pour les fichiers de log WeeChat ("%h" sera remplacé par le répertoire de base WeeChat, par défaut: "~/.weechat")
|
||||
** description: chemin pour les fichiers de log WeeChat; "%h" au début de la chaîne est remplacé par le répertoire de base WeeChat (par défaut: "~/.weechat"); les caractères de formatage de date sont autorisés (voir man strftime)
|
||||
** type: chaîne
|
||||
** valeurs: toute chaîne (valeur par défaut: "%h/logs/")
|
||||
|
||||
|
@ -29,7 +29,7 @@
|
|||
** valeurs: toute chaîne (valeur par défaut: "_")
|
||||
|
||||
* *logger.file.time_format*
|
||||
** description: format de date/heure utilisé dans les fichiers log (voir strftime(3) pour le format de date/heure)
|
||||
** description: format de date/heure utilisé dans les fichiers log (voir man strftime pour le format de date/heure)
|
||||
** type: chaîne
|
||||
** valeurs: toute chaîne (valeur par défaut: "%Y-%m-%d %H:%M:%S")
|
||||
|
||||
|
|
|
@ -5462,7 +5462,7 @@ Paramètres :
|
|||
|
||||
* 'signal' : signal à intercepter, peut commencer ou se terminer par "*" :
|
||||
|
||||
[width="80%",cols="^1,^3,^3,5",options="header"]
|
||||
[width="100%",cols="^1,^3,^4,5",options="header"]
|
||||
|========================================
|
||||
| Extension | Signal | Paramètres | Description
|
||||
|
||||
|
@ -5550,6 +5550,9 @@ Paramètres :
|
|||
| weechat | buffer_type_changed | pointeur : tampon |
|
||||
type de tampon changé
|
||||
|
||||
| weechat | day_changed | chaîne : nouvelle date, format : "2010-01-31" |
|
||||
le jour de la date système a changé
|
||||
|
||||
| weechat | debug_dump | - |
|
||||
requête de "dump"
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
** valori: on, off (valore predefinito: off)
|
||||
|
||||
* *logger.file.mask*
|
||||
** descrizione: mask del nome file predefinito per i file di log (il formato è "cartella/per/file" oppure "file", senza la prima "/" perché l'opzione "path" è utilizzata per costruire il percorso completo del file); sono ammesse le variabili dei buffer locali
|
||||
** descrizione: default file name mask for log files (format is "directory/to/file" or "file", without first "/" because "path" option is used to build complete path to file); local buffer variables are permitted; date specifiers are permitted (see man strftime)
|
||||
** tipo: stringa
|
||||
** valori: qualsiasi stringa (valore predefinito: "$plugin.$name.weechatlog")
|
||||
|
||||
|
@ -19,7 +19,7 @@
|
|||
** valori: on, off (valore predefinito: on)
|
||||
|
||||
* *logger.file.path*
|
||||
** descrizione: percorso per i file di log di WeeChat ("%h" verrà sostituito dalla cartella home di WeeChat, predefinita è "~/.weechat)
|
||||
** descrizione: path for WeeChat log files; "%h" at beginning of string is replaced by WeeChat home ("~/.weechat" by default); date specifiers are permitted (see man strftime)
|
||||
** tipo: stringa
|
||||
** valori: qualsiasi stringa (valore predefinito: "%h/logs/")
|
||||
|
||||
|
|
19
po/cs.po
19
po/cs.po
|
@ -6,7 +6,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.3.2-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2010-01-18 10:29+0100\n"
|
||||
"POT-Creation-Date: 2010-01-26 16:02+0100\n"
|
||||
"PO-Revision-Date: 2010-01-23 11:56+0100\n"
|
||||
"Last-Translator: Jiri Golembiovsky <golemj@gmail.com>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
|
@ -4132,6 +4132,13 @@ msgstr ""
|
|||
msgid "delay for filtering join/part/quit messages (in minutes)"
|
||||
msgstr "zpoždění pro filtrování zpráv join/part/quit (v minutách)"
|
||||
|
||||
#, fuzzy
|
||||
msgid "enable smart filter for \"join\" messages"
|
||||
msgstr "prefix pro zprávy připojení"
|
||||
|
||||
msgid "enable smart filter for \"part\" and \"quit\" messages"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"display notices as private messages (if auto, use private buffer if found)"
|
||||
msgstr ""
|
||||
|
@ -4987,17 +4994,21 @@ msgstr ""
|
|||
msgid "use only lower case for log filenames"
|
||||
msgstr "používat pouze malé písmena ve jménech logovacích souborů"
|
||||
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"path for WeeChat log files (\"%h\" will be replaced by WeeChat home, \"~/."
|
||||
"weechat\" by default)"
|
||||
"path for WeeChat log files; \"%h\" at beginning of string is replaced by "
|
||||
"WeeChat home (\"~/.weechat\" by default); date specifiers are permitted (see "
|
||||
"man strftime)"
|
||||
msgstr ""
|
||||
"cesta pro logovací soubory WeeChat (\"%h\" bude nahrazeno domácím adresářem "
|
||||
"WeeChat, \"~/.weechat\" je výchozí)"
|
||||
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"default file name mask for log files (format is \"directory/to/file\" or "
|
||||
"\"file\", without first \"/\" because \"path\" option is used to build "
|
||||
"complete path to file); local buffer variables are permitted"
|
||||
"complete path to file); local buffer variables are permitted; date "
|
||||
"specifiers are permitted (see man strftime)"
|
||||
msgstr ""
|
||||
"výchozí maska jména souboru pro logovací soubory (formát je \"adresář/k/"
|
||||
"souboru\" nebo \"soubor\", bez úvoního \"/\", protože pro vytvoření celé "
|
||||
|
|
19
po/de.po
19
po/de.po
|
@ -10,7 +10,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.3.2-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2010-01-18 10:29+0100\n"
|
||||
"POT-Creation-Date: 2010-01-26 16:02+0100\n"
|
||||
"PO-Revision-Date: 2010-01-23 11:56+0100\n"
|
||||
"Last-Translator: Nils G <weechatter@arcor.de>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
|
@ -4316,6 +4316,13 @@ msgid "delay for filtering join/part/quit messages (in minutes)"
|
|||
msgstr ""
|
||||
"Verzögerung, in Minuten, in denen join/part/quit Nachrichten gefiltert werden"
|
||||
|
||||
#, fuzzy
|
||||
msgid "enable smart filter for \"join\" messages"
|
||||
msgstr "Präfix für Join-Nachrichten"
|
||||
|
||||
msgid "enable smart filter for \"part\" and \"quit\" messages"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"display notices as private messages (if auto, use private buffer if found)"
|
||||
msgstr ""
|
||||
|
@ -5183,17 +5190,21 @@ msgstr ""
|
|||
msgid "use only lower case for log filenames"
|
||||
msgstr "Benutze ausschließlich Kleinschreibung für Protokoll-Dateien"
|
||||
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"path for WeeChat log files (\"%h\" will be replaced by WeeChat home, \"~/."
|
||||
"weechat\" by default)"
|
||||
"path for WeeChat log files; \"%h\" at beginning of string is replaced by "
|
||||
"WeeChat home (\"~/.weechat\" by default); date specifiers are permitted (see "
|
||||
"man strftime)"
|
||||
msgstr ""
|
||||
"Suchpfad für WeeChat-Protokoll-Dateien (\"%h\" wird durch das WeeChat-"
|
||||
"Basisverzeichnis ersetzt. Voreingestellt ist \"~/.weechat\")"
|
||||
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"default file name mask for log files (format is \"directory/to/file\" or "
|
||||
"\"file\", without first \"/\" because \"path\" option is used to build "
|
||||
"complete path to file); local buffer variables are permitted"
|
||||
"complete path to file); local buffer variables are permitted; date "
|
||||
"specifiers are permitted (see man strftime)"
|
||||
msgstr ""
|
||||
"Standard-Maske für Protokoll-Dateien (Format: \"Verzeichnis/zu/Datei\" oder "
|
||||
"\"Datei\", ohne führendes \"/\" da die \"Verzeichnis\" Option genutzt wird "
|
||||
|
|
19
po/es.po
19
po/es.po
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.3.2-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2010-01-18 10:29+0100\n"
|
||||
"POT-Creation-Date: 2010-01-26 16:02+0100\n"
|
||||
"PO-Revision-Date: 2010-01-23 11:56+0100\n"
|
||||
"Last-Translator: Elián Hanisch <lambdae2@gmail.com>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
|
@ -4224,6 +4224,13 @@ msgid "delay for filtering join/part/quit messages (in minutes)"
|
|||
msgstr ""
|
||||
"tiempo de espera para filtrar mensajes de unión/abandono/salida (en minutos)"
|
||||
|
||||
#, fuzzy
|
||||
msgid "enable smart filter for \"join\" messages"
|
||||
msgstr "prefijo para mensajes de unión"
|
||||
|
||||
msgid "enable smart filter for \"part\" and \"quit\" messages"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"display notices as private messages (if auto, use private buffer if found)"
|
||||
msgstr ""
|
||||
|
@ -5088,17 +5095,21 @@ msgstr ""
|
|||
msgid "use only lower case for log filenames"
|
||||
msgstr "usar solamente minúsculas para el nombre de los archivos"
|
||||
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"path for WeeChat log files (\"%h\" will be replaced by WeeChat home, \"~/."
|
||||
"weechat\" by default)"
|
||||
"path for WeeChat log files; \"%h\" at beginning of string is replaced by "
|
||||
"WeeChat home (\"~/.weechat\" by default); date specifiers are permitted (see "
|
||||
"man strftime)"
|
||||
msgstr ""
|
||||
"ruta para los registros de WeeChat (\"%h\" será reemplazado por el "
|
||||
"directorio raíz de WeeChat, \"~/.weechat\" por defecto)"
|
||||
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"default file name mask for log files (format is \"directory/to/file\" or "
|
||||
"\"file\", without first \"/\" because \"path\" option is used to build "
|
||||
"complete path to file); local buffer variables are permitted"
|
||||
"complete path to file); local buffer variables are permitted; date "
|
||||
"specifiers are permitted (see man strftime)"
|
||||
msgstr ""
|
||||
"máscara para nombre del archivo de registro por defecto (el formato es "
|
||||
"\"directorio/al/archivo\" o \"archivo\", sin el primer \"/\" porque la "
|
||||
|
|
30
po/fr.po
30
po/fr.po
|
@ -6,8 +6,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.3.2-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2010-01-18 10:29+0100\n"
|
||||
"PO-Revision-Date: 2010-01-23 11:56+0100\n"
|
||||
"POT-Creation-Date: 2010-01-26 16:02+0100\n"
|
||||
"PO-Revision-Date: 2010-01-26 16:02+0100\n"
|
||||
"Last-Translator: FlashCode <flashcode@flashtux.org>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
@ -4251,6 +4251,12 @@ msgstr ""
|
|||
msgid "delay for filtering join/part/quit messages (in minutes)"
|
||||
msgstr "délai pour filtrer les messages join/part/quit (en minutes)"
|
||||
|
||||
msgid "enable smart filter for \"join\" messages"
|
||||
msgstr "activer le filtre intelligent pour les messages \"join\""
|
||||
|
||||
msgid "enable smart filter for \"part\" and \"quit\" messages"
|
||||
msgstr "activer le filtre intelligent pour les messages \"part\" et \"quit\""
|
||||
|
||||
msgid ""
|
||||
"display notices as private messages (if auto, use private buffer if found)"
|
||||
msgstr ""
|
||||
|
@ -5109,21 +5115,25 @@ msgid "use only lower case for log filenames"
|
|||
msgstr "utiliser seulement des minuscules dans le nom des fichiers de log"
|
||||
|
||||
msgid ""
|
||||
"path for WeeChat log files (\"%h\" will be replaced by WeeChat home, \"~/."
|
||||
"weechat\" by default)"
|
||||
"path for WeeChat log files; \"%h\" at beginning of string is replaced by "
|
||||
"WeeChat home (\"~/.weechat\" by default); date specifiers are permitted (see "
|
||||
"man strftime)"
|
||||
msgstr ""
|
||||
"chemin pour les fichiers de log WeeChat (\"%h\" sera remplacé par le "
|
||||
"répertoire de base WeeChat, par défaut: \"~/.weechat\")"
|
||||
"chemin pour les fichiers de log WeeChat; \"%h\" au début de la chaîne est "
|
||||
"remplacé par le répertoire de base WeeChat (par défaut: \"~/.weechat\"); les "
|
||||
"caractères de formatage de date sont autorisés (voir man strftime)"
|
||||
|
||||
msgid ""
|
||||
"default file name mask for log files (format is \"directory/to/file\" or "
|
||||
"\"file\", without first \"/\" because \"path\" option is used to build "
|
||||
"complete path to file); local buffer variables are permitted"
|
||||
"complete path to file); local buffer variables are permitted; date "
|
||||
"specifiers are permitted (see man strftime)"
|
||||
msgstr ""
|
||||
"masque de fichier par défaut pour les fichiers de log (le format est "
|
||||
"\"repertoire/vers/fichier\" ou \"fichier\", sans le premier \"/\" car "
|
||||
"l'option \"path\" est utilisée pour construire le chemin complet vers le "
|
||||
"fichier); les variables locales du tampon sont permises"
|
||||
"fichier); les variables locales du tampon sont permises; les caractères de "
|
||||
"formatage de date sont autorisés (voir man strftime)"
|
||||
|
||||
msgid ""
|
||||
"replacement char for special chars in filename built with mask (like "
|
||||
|
@ -5139,8 +5149,8 @@ msgstr ""
|
|||
|
||||
msgid "timestamp used in log files (see man strftime for date/time specifiers)"
|
||||
msgstr ""
|
||||
"format de date/heure utilisé dans les fichiers log (voir strftime(3) pour le "
|
||||
"format de date/heure)"
|
||||
"format de date/heure utilisé dans les fichiers log (voir man strftime pour "
|
||||
"le format de date/heure)"
|
||||
|
||||
msgid "list of logger buffers"
|
||||
msgstr "liste des enregistreurs de tampons (loggers)"
|
||||
|
|
17
po/hu.po
17
po/hu.po
|
@ -12,7 +12,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.3.2-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2010-01-18 10:29+0100\n"
|
||||
"POT-Creation-Date: 2010-01-26 16:02+0100\n"
|
||||
"PO-Revision-Date: 2010-01-23 11:57+0100\n"
|
||||
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
|
@ -4072,6 +4072,13 @@ msgstr ""
|
|||
msgid "delay for filtering join/part/quit messages (in minutes)"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgid "enable smart filter for \"join\" messages"
|
||||
msgstr "új üzenetet tartalmazó ablak színe"
|
||||
|
||||
msgid "enable smart filter for \"part\" and \"quit\" messages"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"display notices as private messages (if auto, use private buffer if found)"
|
||||
|
@ -4889,8 +4896,9 @@ msgstr ""
|
|||
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"path for WeeChat log files (\"%h\" will be replaced by WeeChat home, \"~/."
|
||||
"weechat\" by default)"
|
||||
"path for WeeChat log files; \"%h\" at beginning of string is replaced by "
|
||||
"WeeChat home (\"~/.weechat\" by default); date specifiers are permitted (see "
|
||||
"man strftime)"
|
||||
msgstr ""
|
||||
"modulok elérési útvonala ('%h' helyére automatikusan a WeeChat saját "
|
||||
"könyvtára, alapértelmezésben ~/.weechat, kerül)"
|
||||
|
@ -4898,7 +4906,8 @@ msgstr ""
|
|||
msgid ""
|
||||
"default file name mask for log files (format is \"directory/to/file\" or "
|
||||
"\"file\", without first \"/\" because \"path\" option is used to build "
|
||||
"complete path to file); local buffer variables are permitted"
|
||||
"complete path to file); local buffer variables are permitted; date "
|
||||
"specifiers are permitted (see man strftime)"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
|
|
19
po/it.po
19
po/it.po
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Weechat 0.3.2-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2010-01-18 10:29+0100\n"
|
||||
"POT-Creation-Date: 2010-01-26 16:02+0100\n"
|
||||
"PO-Revision-Date: 2010-01-23 11:57+0100\n"
|
||||
"Last-Translator: Marco Paolone <marcopaolone@gmail.com>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
|
@ -4225,6 +4225,13 @@ msgstr ""
|
|||
"ritardo per il filtraggio dei messaggi di entrata/uscita/abbandono (in "
|
||||
"minuti)"
|
||||
|
||||
#, fuzzy
|
||||
msgid "enable smart filter for \"join\" messages"
|
||||
msgstr "prefisso per i messaggi di entrata"
|
||||
|
||||
msgid "enable smart filter for \"part\" and \"quit\" messages"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"display notices as private messages (if auto, use private buffer if found)"
|
||||
msgstr ""
|
||||
|
@ -5080,17 +5087,21 @@ msgstr ""
|
|||
msgid "use only lower case for log filenames"
|
||||
msgstr "utilizzare solo lettere minuscole per i nomi dei file di log"
|
||||
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"path for WeeChat log files (\"%h\" will be replaced by WeeChat home, \"~/."
|
||||
"weechat\" by default)"
|
||||
"path for WeeChat log files; \"%h\" at beginning of string is replaced by "
|
||||
"WeeChat home (\"~/.weechat\" by default); date specifiers are permitted (see "
|
||||
"man strftime)"
|
||||
msgstr ""
|
||||
"percorso per i file di log di WeeChat (\"%h\" verrà sostituito dalla "
|
||||
"cartella home di WeeChat, predefinita è \"~/.weechat)"
|
||||
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"default file name mask for log files (format is \"directory/to/file\" or "
|
||||
"\"file\", without first \"/\" because \"path\" option is used to build "
|
||||
"complete path to file); local buffer variables are permitted"
|
||||
"complete path to file); local buffer variables are permitted; date "
|
||||
"specifiers are permitted (see man strftime)"
|
||||
msgstr ""
|
||||
"mask del nome file predefinito per i file di log (il formato è \"cartella/"
|
||||
"per/file\" oppure \"file\", senza la prima \"/\" perché l'opzione \"path\" è "
|
||||
|
|
19
po/pl.po
19
po/pl.po
|
@ -9,7 +9,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.3.2-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2010-01-18 10:29+0100\n"
|
||||
"POT-Creation-Date: 2010-01-26 16:02+0100\n"
|
||||
"PO-Revision-Date: 2010-01-23 11:57+0100\n"
|
||||
"Last-Translator: Krzysztof Koroscik <soltys@szluug.org>\n"
|
||||
"Language-Team: Polish\n"
|
||||
|
@ -4205,6 +4205,13 @@ msgid "delay for filtering join/part/quit messages (in minutes)"
|
|||
msgstr ""
|
||||
"odstęp dla filtrowania wiadomości wejścia/opuszczenia/wyjścia (w minutach)"
|
||||
|
||||
#, fuzzy
|
||||
msgid "enable smart filter for \"join\" messages"
|
||||
msgstr "przedrostek indormacji o wejsciu na kanał"
|
||||
|
||||
msgid "enable smart filter for \"part\" and \"quit\" messages"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"display notices as private messages (if auto, use private buffer if found)"
|
||||
msgstr ""
|
||||
|
@ -5056,17 +5063,21 @@ msgstr ""
|
|||
msgid "use only lower case for log filenames"
|
||||
msgstr "używaj tylko małych liter dla nazw plików z logami"
|
||||
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"path for WeeChat log files (\"%h\" will be replaced by WeeChat home, \"~/."
|
||||
"weechat\" by default)"
|
||||
"path for WeeChat log files; \"%h\" at beginning of string is replaced by "
|
||||
"WeeChat home (\"~/.weechat\" by default); date specifiers are permitted (see "
|
||||
"man strftime)"
|
||||
msgstr ""
|
||||
"ścieżka do plików z logami WeeChat (\"%h\" zostanie zastąpione przez katalog "
|
||||
"domowy WeeChat, domyślnie \".weechat\")"
|
||||
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"default file name mask for log files (format is \"directory/to/file\" or "
|
||||
"\"file\", without first \"/\" because \"path\" option is used to build "
|
||||
"complete path to file); local buffer variables are permitted"
|
||||
"complete path to file); local buffer variables are permitted; date "
|
||||
"specifiers are permitted (see man strftime)"
|
||||
msgstr ""
|
||||
"domyślna maska nazw plików z logami (format to \"ścieżka/do/pliku\" lub "
|
||||
"\"plik\", bez pierwszego \"/\" ponieważ opcja \"path\" jest użyta do "
|
||||
|
|
17
po/ru.po
17
po/ru.po
|
@ -6,7 +6,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.3.2-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2010-01-18 10:29+0100\n"
|
||||
"POT-Creation-Date: 2010-01-26 16:02+0100\n"
|
||||
"PO-Revision-Date: 2010-01-23 11:57+0100\n"
|
||||
"Last-Translator: Pavel Shevchuk <stlwrt@gmail.com>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
|
@ -4073,6 +4073,13 @@ msgstr ""
|
|||
msgid "delay for filtering join/part/quit messages (in minutes)"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgid "enable smart filter for \"join\" messages"
|
||||
msgstr "цвет текущего окна с сообщениями"
|
||||
|
||||
msgid "enable smart filter for \"part\" and \"quit\" messages"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"display notices as private messages (if auto, use private buffer if found)"
|
||||
|
@ -4893,8 +4900,9 @@ msgstr ""
|
|||
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"path for WeeChat log files (\"%h\" will be replaced by WeeChat home, \"~/."
|
||||
"weechat\" by default)"
|
||||
"path for WeeChat log files; \"%h\" at beginning of string is replaced by "
|
||||
"WeeChat home (\"~/.weechat\" by default); date specifiers are permitted (see "
|
||||
"man strftime)"
|
||||
msgstr ""
|
||||
"путь поиска pluginов ('%h' заменяется на домашний каталог WeeChat, по "
|
||||
"умолчанию - ~/.weechat)"
|
||||
|
@ -4902,7 +4910,8 @@ msgstr ""
|
|||
msgid ""
|
||||
"default file name mask for log files (format is \"directory/to/file\" or "
|
||||
"\"file\", without first \"/\" because \"path\" option is used to build "
|
||||
"complete path to file); local buffer variables are permitted"
|
||||
"complete path to file); local buffer variables are permitted; date "
|
||||
"specifiers are permitted (see man strftime)"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
|
|
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2010-01-18 10:29+0100\n"
|
||||
"POT-Creation-Date: 2010-01-26 16:02+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -3469,6 +3469,12 @@ msgstr ""
|
|||
msgid "delay for filtering join/part/quit messages (in minutes)"
|
||||
msgstr ""
|
||||
|
||||
msgid "enable smart filter for \"join\" messages"
|
||||
msgstr ""
|
||||
|
||||
msgid "enable smart filter for \"part\" and \"quit\" messages"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"display notices as private messages (if auto, use private buffer if found)"
|
||||
msgstr ""
|
||||
|
@ -4230,14 +4236,16 @@ msgid "use only lower case for log filenames"
|
|||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"path for WeeChat log files (\"%h\" will be replaced by WeeChat home, \"~/."
|
||||
"weechat\" by default)"
|
||||
"path for WeeChat log files; \"%h\" at beginning of string is replaced by "
|
||||
"WeeChat home (\"~/.weechat\" by default); date specifiers are permitted (see "
|
||||
"man strftime)"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"default file name mask for log files (format is \"directory/to/file\" or "
|
||||
"\"file\", without first \"/\" because \"path\" option is used to build "
|
||||
"complete path to file); local buffer variables are permitted"
|
||||
"complete path to file); local buffer variables are permitted; date "
|
||||
"specifiers are permitted (see man strftime)"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
|
|
|
@ -344,7 +344,7 @@ config_day_change_timer_cb (void *data, int remaining_calls)
|
|||
{
|
||||
struct timeval tv_time;
|
||||
struct tm *local_time;
|
||||
char text_time[1024], *text_time2;
|
||||
char text_time[256], *text_time2;
|
||||
struct t_gui_buffer *ptr_buffer;
|
||||
|
||||
/* make C compiler happy */
|
||||
|
@ -374,6 +374,10 @@ config_day_change_timer_cb (void *data, int remaining_calls)
|
|||
if (text_time2)
|
||||
free (text_time2);
|
||||
gui_add_hotlist = 1;
|
||||
|
||||
/* send signal "day_changed" */
|
||||
strftime (text_time, sizeof (text_time), "%Y-%m-%d", local_time);
|
||||
hook_signal_send ("day_changed", WEECHAT_HOOK_SIGNAL_STRING, text_time);
|
||||
}
|
||||
|
||||
config_day_change_old_day = local_time->tm_mday;
|
||||
|
|
|
@ -89,6 +89,7 @@ logger_buffer_add (struct t_gui_buffer *buffer, int log_level)
|
|||
new_logger_buffer->log_file = NULL;
|
||||
new_logger_buffer->log_enabled = 1;
|
||||
new_logger_buffer->log_level = log_level;
|
||||
new_logger_buffer->write_start_info_line = 1;
|
||||
|
||||
new_logger_buffer->prev_buffer = last_logger_buffer;
|
||||
new_logger_buffer->next_buffer = NULL;
|
||||
|
@ -156,14 +157,9 @@ void
|
|||
logger_buffer_free (struct t_logger_buffer *logger_buffer)
|
||||
{
|
||||
struct t_logger_buffer *new_logger_buffers;
|
||||
struct t_gui_buffer *ptr_buffer;
|
||||
|
||||
if (weechat_logger_plugin->debug)
|
||||
{
|
||||
weechat_printf (NULL,
|
||||
"%s: stop logging for buffer \"%s\"",
|
||||
LOGGER_PLUGIN_NAME,
|
||||
weechat_buffer_get_string (logger_buffer->buffer, "name"));
|
||||
}
|
||||
ptr_buffer = logger_buffer->buffer;
|
||||
|
||||
/* remove logger buffer */
|
||||
if (last_logger_buffer == logger_buffer)
|
||||
|
@ -182,10 +178,20 @@ logger_buffer_free (struct t_logger_buffer *logger_buffer)
|
|||
/* free data */
|
||||
if (logger_buffer->log_filename)
|
||||
free (logger_buffer->log_filename);
|
||||
if (logger_buffer->log_file)
|
||||
fclose (logger_buffer->log_file);
|
||||
|
||||
free (logger_buffer);
|
||||
|
||||
logger_buffers = new_logger_buffers;
|
||||
|
||||
if (weechat_logger_plugin->debug)
|
||||
{
|
||||
weechat_printf (NULL,
|
||||
"%s: stop logging for buffer \"%s\"",
|
||||
LOGGER_PLUGIN_NAME,
|
||||
weechat_buffer_get_string (ptr_buffer, "name"));
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -216,6 +222,8 @@ logger_buffer_add_to_infolist (struct t_infolist *infolist,
|
|||
return 0;
|
||||
if (!weechat_infolist_new_var_integer (ptr_item, "log_level", logger_buffer->log_level))
|
||||
return 0;
|
||||
if (!weechat_infolist_new_var_integer (ptr_item, "write_start_info_line", logger_buffer->write_start_info_line))
|
||||
return 0;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
|
|
@ -29,6 +29,8 @@ struct t_logger_buffer
|
|||
FILE *log_file; /* log file */
|
||||
int log_enabled; /* log enabled ? */
|
||||
int log_level; /* log level (0..9) */
|
||||
int write_start_info_line; /* 1 if start info line must be */
|
||||
/* written in file */
|
||||
struct t_logger_buffer *prev_buffer; /* link to previous buffer */
|
||||
struct t_logger_buffer *next_buffer; /* link to next buffer */
|
||||
};
|
||||
|
|
|
@ -63,10 +63,7 @@ logger_config_change_file_option_restart_log (void *data,
|
|||
(void) option;
|
||||
|
||||
if (!logger_config_loading)
|
||||
{
|
||||
logger_stop_all ();
|
||||
logger_start_buffer_all ();
|
||||
}
|
||||
logger_adjust_log_filenames ();
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -80,9 +77,9 @@ logger_config_level_change (void *data,
|
|||
/* make C compiler happy */
|
||||
(void) data;
|
||||
(void) option;
|
||||
|
||||
|
||||
if (!logger_config_loading)
|
||||
logger_start_buffer_all ();
|
||||
logger_start_buffer_all (1);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -102,7 +99,7 @@ logger_config_level_delete_option (void *data,
|
|||
|
||||
weechat_config_option_free (option);
|
||||
|
||||
logger_start_buffer_all ();
|
||||
logger_start_buffer_all (1);
|
||||
|
||||
return WEECHAT_CONFIG_OPTION_UNSET_OK_REMOVED;
|
||||
}
|
||||
|
@ -161,7 +158,7 @@ logger_config_level_create_option (void *data,
|
|||
}
|
||||
|
||||
if (!logger_config_loading)
|
||||
logger_start_buffer_all ();
|
||||
logger_start_buffer_all (1);
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
@ -205,10 +202,7 @@ logger_config_mask_change (void *data,
|
|||
(void) option;
|
||||
|
||||
if (!logger_config_loading)
|
||||
{
|
||||
logger_stop_all ();
|
||||
logger_start_buffer_all ();
|
||||
}
|
||||
logger_adjust_log_filenames ();
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -228,8 +222,7 @@ logger_config_mask_delete_option (void *data,
|
|||
|
||||
weechat_config_option_free (option);
|
||||
|
||||
logger_stop_all ();
|
||||
logger_start_buffer_all ();
|
||||
logger_adjust_log_filenames ();
|
||||
|
||||
return WEECHAT_CONFIG_OPTION_UNSET_OK_REMOVED;
|
||||
}
|
||||
|
@ -286,12 +279,9 @@ logger_config_mask_create_option (void *data,
|
|||
rc = WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!logger_config_loading)
|
||||
{
|
||||
logger_stop_all ();
|
||||
logger_start_buffer_all ();
|
||||
}
|
||||
logger_adjust_log_filenames ();
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
@ -369,8 +359,9 @@ logger_config_init ()
|
|||
logger_config_file_path = weechat_config_new_option (
|
||||
logger_config_file, ptr_section,
|
||||
"path", "string",
|
||||
N_("path for WeeChat log files (\"%h\" will be replaced by WeeChat "
|
||||
"home, \"~/.weechat\" by default)"),
|
||||
N_("path for WeeChat log files; \"%h\" at beginning of string is "
|
||||
"replaced by WeeChat home (\"~/.weechat\" by default); date "
|
||||
"specifiers are permitted (see man strftime)"),
|
||||
NULL, 0, 0, "%h/logs/", NULL, 0, NULL, NULL,
|
||||
&logger_config_change_file_option_restart_log, NULL, NULL, NULL);
|
||||
logger_config_file_mask = weechat_config_new_option (
|
||||
|
@ -379,7 +370,8 @@ logger_config_init ()
|
|||
N_("default file name mask for log files (format is "
|
||||
"\"directory/to/file\" or \"file\", without first \"/\" because "
|
||||
"\"path\" option is used to build complete path to file); local "
|
||||
"buffer variables are permitted"),
|
||||
"buffer variables are permitted; date specifiers are permitted "
|
||||
"(see man strftime)"),
|
||||
NULL, 0, 0, "$plugin.$name.weechatlog", NULL, 0, NULL, NULL,
|
||||
&logger_config_change_file_option_restart_log, NULL, NULL, NULL);
|
||||
logger_config_file_replacement_char = weechat_config_new_option (
|
||||
|
|
|
@ -54,6 +54,76 @@ struct t_weechat_plugin *weechat_logger_plugin = NULL;
|
|||
char *logger_buf_write = NULL; /* buffer for writing a line */
|
||||
|
||||
|
||||
/*
|
||||
* logger_get_file_path: get logger file path option, special vars are replaced:
|
||||
* - "%h" (at beginning of string): WeeChat home
|
||||
* - "~": user home
|
||||
* - date/time specifiers (see man strftime)
|
||||
* note: returned value has to be free() after use
|
||||
*/
|
||||
|
||||
char *
|
||||
logger_get_file_path ()
|
||||
{
|
||||
char *file_path, *file_path2, *file_path3;
|
||||
const char *weechat_dir;
|
||||
int length;
|
||||
time_t seconds;
|
||||
struct tm *date_tmp;
|
||||
|
||||
file_path = NULL;
|
||||
file_path2 = NULL;
|
||||
file_path3 = NULL;
|
||||
|
||||
weechat_dir = weechat_info_get ("weechat_dir", "");
|
||||
if (!weechat_dir)
|
||||
goto end;
|
||||
|
||||
/* replace "~" with user home */
|
||||
file_path = weechat_string_replace (weechat_config_string (logger_config_file_path),
|
||||
"~", getenv ("HOME"));
|
||||
if (!file_path)
|
||||
goto end;
|
||||
|
||||
/* replace "%h" with WeeChat home (at beginning of string only) */
|
||||
if (strncmp (file_path, "%h", 2) == 0)
|
||||
{
|
||||
length = strlen (weechat_dir) + strlen (file_path + 2) + 1;
|
||||
file_path2 = malloc (length);
|
||||
if (file_path2)
|
||||
snprintf (file_path2, length, "%s%s", weechat_dir, file_path + 2);
|
||||
}
|
||||
else
|
||||
file_path2 = strdup (file_path);
|
||||
if (!file_path2)
|
||||
goto end;
|
||||
|
||||
/* replace date/time specifiers in path */
|
||||
length = strlen (file_path2) + 256 + 1;
|
||||
file_path3 = malloc (length);
|
||||
if (!file_path3)
|
||||
goto end;
|
||||
seconds = time (NULL);
|
||||
date_tmp = localtime (&seconds);
|
||||
file_path3[0] = '\0';
|
||||
strftime (file_path3, length - 1, file_path2, date_tmp);
|
||||
|
||||
if (weechat_logger_plugin->debug)
|
||||
{
|
||||
weechat_printf (NULL,
|
||||
"%s: file path = \"%s\"",
|
||||
LOGGER_PLUGIN_NAME, file_path3);
|
||||
}
|
||||
|
||||
end:
|
||||
if (file_path)
|
||||
free (file_path);
|
||||
if (file_path2)
|
||||
free (file_path2);
|
||||
|
||||
return file_path3;
|
||||
}
|
||||
|
||||
/*
|
||||
* logger_create_directory: create logger directory
|
||||
* return 1 if success (directory created or already
|
||||
|
@ -64,32 +134,16 @@ int
|
|||
logger_create_directory ()
|
||||
{
|
||||
int rc;
|
||||
char *dir1, *dir2;
|
||||
const char *weechat_dir;
|
||||
char *file_path;
|
||||
|
||||
rc = 1;
|
||||
|
||||
dir1 = weechat_string_replace (weechat_config_string (logger_config_file_path),
|
||||
"~", getenv ("HOME"));
|
||||
if (dir1)
|
||||
|
||||
file_path = logger_get_file_path ();
|
||||
if (file_path)
|
||||
{
|
||||
weechat_dir = weechat_info_get ("weechat_dir", "");
|
||||
if (weechat_dir)
|
||||
{
|
||||
dir2 = weechat_string_replace (dir1, "%h", weechat_dir);
|
||||
if (dir2)
|
||||
{
|
||||
if (!weechat_mkdir_parents (dir2, 0700))
|
||||
rc = 0;
|
||||
|
||||
free (dir2);
|
||||
}
|
||||
else
|
||||
rc = 0;
|
||||
}
|
||||
else
|
||||
if (!weechat_mkdir_parents (file_path, 0700))
|
||||
rc = 0;
|
||||
free (dir1);
|
||||
free (file_path);
|
||||
}
|
||||
else
|
||||
rc = 0;
|
||||
|
@ -238,41 +292,35 @@ logger_get_mask_for_buffer (struct t_gui_buffer *buffer)
|
|||
}
|
||||
|
||||
/*
|
||||
* logger_get_filename: build log filename for a buffer
|
||||
* logger_get_mask_expanded: get expanded mask for a buffer, special vars are
|
||||
* replaced:
|
||||
* - local variables of buffer ($plugin, $name, ..)
|
||||
* - date/time specifiers (see man strftime)
|
||||
* note: returned value has to be free() after use
|
||||
*/
|
||||
|
||||
char *
|
||||
logger_get_filename (struct t_gui_buffer *buffer)
|
||||
logger_get_mask_expanded (struct t_gui_buffer *buffer, const char *mask)
|
||||
{
|
||||
char *res, *mask2, *mask_decoded, *mask_decoded2, *mask_decoded3;
|
||||
const char *mask;
|
||||
const char *dir_separator, *weechat_dir;
|
||||
char *log_path, *log_path2, *pos_last_sep;
|
||||
char *mask2, *mask_decoded, *mask_decoded2, *mask_decoded3, *mask_decoded4;
|
||||
const char *dir_separator;
|
||||
int length;
|
||||
time_t seconds;
|
||||
struct tm *date_tmp;
|
||||
|
||||
res = NULL;
|
||||
mask2 = NULL;
|
||||
mask_decoded = NULL;
|
||||
mask_decoded2 = NULL;
|
||||
mask_decoded3 = NULL;
|
||||
log_path = NULL;
|
||||
log_path2 = NULL;
|
||||
|
||||
mask_decoded4 = NULL;
|
||||
|
||||
dir_separator = weechat_info_get ("dir_separator", "");
|
||||
weechat_dir = weechat_info_get ("weechat_dir", "");
|
||||
|
||||
/* get filename mask for buffer */
|
||||
mask = logger_get_mask_for_buffer (buffer);
|
||||
if (!mask)
|
||||
{
|
||||
weechat_printf (NULL,
|
||||
_("%s%s: unable to find filename mask for buffer "
|
||||
"\"%s\", logging is disabled for this buffer"),
|
||||
weechat_prefix ("error"), LOGGER_PLUGIN_NAME,
|
||||
weechat_buffer_get_string (buffer, "name"));
|
||||
if (!dir_separator)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* we first replace directory separator (commonly '/') by \01 because
|
||||
buffer mask can contain this char, and will be replaced by replacement
|
||||
char ('_' by default) */
|
||||
mask2 = weechat_string_replace (mask, dir_separator, "\01");
|
||||
if (!mask2)
|
||||
goto end;
|
||||
|
@ -287,11 +335,26 @@ logger_get_filename (struct t_gui_buffer *buffer)
|
|||
if (!mask_decoded2)
|
||||
goto end;
|
||||
|
||||
/* restore directory separator */
|
||||
mask_decoded3 = weechat_string_replace (mask_decoded2,
|
||||
"\01", dir_separator);
|
||||
if (!mask_decoded3)
|
||||
goto end;
|
||||
|
||||
/* replace date/time specifiers in mask */
|
||||
length = strlen (mask_decoded3) + 256 + 1;
|
||||
mask_decoded4 = malloc (length);
|
||||
if (!mask_decoded4)
|
||||
goto end;
|
||||
seconds = time (NULL);
|
||||
date_tmp = localtime (&seconds);
|
||||
mask_decoded4[0] = '\0';
|
||||
strftime (mask_decoded4, length - 1, mask_decoded3, date_tmp);
|
||||
|
||||
/* convert to lower case? */
|
||||
if (weechat_config_boolean (logger_config_file_name_lower_case))
|
||||
weechat_string_tolower (mask_decoded4);
|
||||
|
||||
if (weechat_logger_plugin->debug)
|
||||
{
|
||||
weechat_printf (NULL,
|
||||
|
@ -299,37 +362,10 @@ logger_get_filename (struct t_gui_buffer *buffer)
|
|||
"decoded mask = \"%s\"",
|
||||
LOGGER_PLUGIN_NAME,
|
||||
weechat_buffer_get_string (buffer, "name"),
|
||||
mask, mask_decoded3);
|
||||
mask, mask_decoded4);
|
||||
}
|
||||
|
||||
if (weechat_config_boolean (logger_config_file_name_lower_case))
|
||||
weechat_string_tolower (mask_decoded3);
|
||||
|
||||
log_path = weechat_string_replace (weechat_config_string (logger_config_file_path),
|
||||
"~", getenv ("HOME"));
|
||||
log_path2 = weechat_string_replace (log_path, "%h", weechat_dir);
|
||||
|
||||
if (dir_separator && weechat_dir && log_path && log_path2)
|
||||
{
|
||||
length = strlen (log_path2) + strlen (mask_decoded3) + 1;
|
||||
res = malloc (length);
|
||||
if (res)
|
||||
{
|
||||
snprintf (res, length, "%s%s", log_path2, mask_decoded3);
|
||||
pos_last_sep = strrchr (res, dir_separator[0]);
|
||||
if (pos_last_sep)
|
||||
pos_last_sep[0] = '\0';
|
||||
weechat_mkdir_parents (res, 0700);
|
||||
if (pos_last_sep)
|
||||
pos_last_sep[0] = dir_separator[0];
|
||||
}
|
||||
}
|
||||
|
||||
end:
|
||||
if (log_path)
|
||||
free (log_path);
|
||||
if (log_path2)
|
||||
free (log_path2);
|
||||
if (mask2)
|
||||
free (mask2);
|
||||
if (mask_decoded)
|
||||
|
@ -339,6 +375,70 @@ end:
|
|||
if (mask_decoded3)
|
||||
free (mask_decoded3);
|
||||
|
||||
return mask_decoded4;
|
||||
}
|
||||
|
||||
/*
|
||||
* logger_get_filename: build log filename for a buffer
|
||||
*/
|
||||
|
||||
char *
|
||||
logger_get_filename (struct t_gui_buffer *buffer)
|
||||
{
|
||||
char *res, *mask_expanded, *file_path;
|
||||
const char *mask;
|
||||
const char *dir_separator, *weechat_dir;
|
||||
int length;
|
||||
|
||||
res = NULL;
|
||||
mask_expanded = NULL;
|
||||
file_path = NULL;
|
||||
|
||||
dir_separator = weechat_info_get ("dir_separator", "");
|
||||
if (!dir_separator)
|
||||
return NULL;
|
||||
weechat_dir = weechat_info_get ("weechat_dir", "");
|
||||
if (!weechat_dir)
|
||||
return NULL;
|
||||
|
||||
/* get filename mask for buffer */
|
||||
mask = logger_get_mask_for_buffer (buffer);
|
||||
if (!mask)
|
||||
{
|
||||
weechat_printf (NULL,
|
||||
_("%s%s: unable to find filename mask for buffer "
|
||||
"\"%s\", logging is disabled for this buffer"),
|
||||
weechat_prefix ("error"), LOGGER_PLUGIN_NAME,
|
||||
weechat_buffer_get_string (buffer, "name"));
|
||||
return NULL;
|
||||
}
|
||||
|
||||
mask_expanded = logger_get_mask_expanded (buffer, mask);
|
||||
if (!mask_expanded)
|
||||
goto end;
|
||||
|
||||
file_path = logger_get_file_path ();
|
||||
if (!file_path)
|
||||
goto end;
|
||||
|
||||
/* build string with path + mask */
|
||||
length = strlen (file_path) + strlen (dir_separator) +
|
||||
strlen (mask_expanded) + 1;
|
||||
res = malloc (length);
|
||||
if (res)
|
||||
{
|
||||
snprintf (res, length, "%s%s%s",
|
||||
file_path,
|
||||
(file_path[strlen (file_path) - 1] == dir_separator[0]) ? "" : dir_separator,
|
||||
mask_expanded);
|
||||
}
|
||||
|
||||
end:
|
||||
if (mask_expanded)
|
||||
free (mask_expanded);
|
||||
if (file_path)
|
||||
free (file_path);
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
|
@ -349,9 +449,11 @@ end:
|
|||
void
|
||||
logger_set_log_filename (struct t_logger_buffer *logger_buffer)
|
||||
{
|
||||
char *log_filename;
|
||||
char *log_filename, *pos_last_sep;
|
||||
const char *dir_separator;
|
||||
struct t_logger_buffer *ptr_logger_buffer;
|
||||
|
||||
/* get log filename for buffer */
|
||||
log_filename = logger_get_filename (logger_buffer->buffer);
|
||||
if (!log_filename)
|
||||
{
|
||||
|
@ -362,6 +464,7 @@ logger_set_log_filename (struct t_logger_buffer *logger_buffer)
|
|||
return;
|
||||
}
|
||||
|
||||
/* log file is already used by another buffer? */
|
||||
ptr_logger_buffer = logger_buffer_search_log_filename (log_filename);
|
||||
if (ptr_logger_buffer)
|
||||
{
|
||||
|
@ -377,6 +480,20 @@ logger_set_log_filename (struct t_logger_buffer *logger_buffer)
|
|||
return;
|
||||
}
|
||||
|
||||
/* create directory for path in "log_filename" */
|
||||
dir_separator = weechat_info_get ("dir_separator", "");
|
||||
if (dir_separator)
|
||||
{
|
||||
pos_last_sep = strrchr (log_filename, dir_separator[0]);
|
||||
if (pos_last_sep)
|
||||
{
|
||||
pos_last_sep[0] = '\0';
|
||||
weechat_mkdir_parents (log_filename, 0700);
|
||||
pos_last_sep[0] = dir_separator[0];
|
||||
}
|
||||
}
|
||||
|
||||
/* set log filename */
|
||||
logger_buffer->log_filename = log_filename;
|
||||
}
|
||||
|
||||
|
@ -422,7 +539,6 @@ logger_write_line (struct t_logger_buffer *logger_buffer,
|
|||
}
|
||||
if (!logger_buffer->log_filename)
|
||||
logger_set_log_filename (logger_buffer);
|
||||
|
||||
if (!logger_buffer->log_filename)
|
||||
{
|
||||
logger_buffer_free (logger_buffer);
|
||||
|
@ -441,15 +557,18 @@ logger_write_line (struct t_logger_buffer *logger_buffer,
|
|||
return;
|
||||
}
|
||||
|
||||
if (weechat_config_boolean (logger_config_file_info_lines))
|
||||
if (weechat_config_boolean (logger_config_file_info_lines)
|
||||
&& logger_buffer->write_start_info_line)
|
||||
{
|
||||
seconds = time (NULL);
|
||||
date_tmp = localtime (&seconds);
|
||||
buf_time[0] = '\0';
|
||||
if (date_tmp)
|
||||
{
|
||||
strftime (buf_time, sizeof (buf_time) - 1,
|
||||
weechat_config_string (logger_config_file_time_format),
|
||||
date_tmp);
|
||||
}
|
||||
snprintf (logger_buf_write, LOGGER_BUF_WRITE_SIZE,
|
||||
_("%s\t**** Beginning of log ****"),
|
||||
buf_time);
|
||||
|
@ -460,6 +579,7 @@ logger_write_line (struct t_logger_buffer *logger_buffer,
|
|||
if (message)
|
||||
free (message);
|
||||
}
|
||||
logger_buffer->write_start_info_line = 0;
|
||||
}
|
||||
|
||||
va_start (argptr, format);
|
||||
|
@ -498,9 +618,11 @@ logger_stop (struct t_logger_buffer *logger_buffer, int write_info_line)
|
|||
date_tmp = localtime (&seconds);
|
||||
buf_time[0] = '\0';
|
||||
if (date_tmp)
|
||||
{
|
||||
strftime (buf_time, sizeof (buf_time) - 1,
|
||||
weechat_config_string (logger_config_file_time_format),
|
||||
date_tmp);
|
||||
}
|
||||
logger_write_line (logger_buffer,
|
||||
_("%s\t**** End of log ****"),
|
||||
buf_time);
|
||||
|
@ -516,11 +638,11 @@ logger_stop (struct t_logger_buffer *logger_buffer, int write_info_line)
|
|||
*/
|
||||
|
||||
void
|
||||
logger_stop_all ()
|
||||
logger_stop_all (int write_info_line)
|
||||
{
|
||||
while (logger_buffers)
|
||||
{
|
||||
logger_stop (logger_buffers, 1);
|
||||
logger_stop (logger_buffers, write_info_line);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -529,7 +651,7 @@ logger_stop_all ()
|
|||
*/
|
||||
|
||||
void
|
||||
logger_start_buffer (struct t_gui_buffer *buffer)
|
||||
logger_start_buffer (struct t_gui_buffer *buffer, int write_info_line)
|
||||
{
|
||||
struct t_logger_buffer *ptr_logger_buffer;
|
||||
int log_level, log_enabled;
|
||||
|
@ -571,6 +693,8 @@ logger_start_buffer (struct t_gui_buffer *buffer)
|
|||
}
|
||||
}
|
||||
}
|
||||
if (ptr_logger_buffer)
|
||||
ptr_logger_buffer->write_start_info_line = write_info_line;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -579,7 +703,7 @@ logger_start_buffer (struct t_gui_buffer *buffer)
|
|||
*/
|
||||
|
||||
void
|
||||
logger_start_buffer_all ()
|
||||
logger_start_buffer_all (int write_info_line)
|
||||
{
|
||||
struct t_infolist *ptr_infolist;
|
||||
|
||||
|
@ -589,7 +713,8 @@ logger_start_buffer_all ()
|
|||
while (weechat_infolist_next (ptr_infolist))
|
||||
{
|
||||
logger_start_buffer (weechat_infolist_pointer (ptr_infolist,
|
||||
"pointer"));
|
||||
"pointer"),
|
||||
write_info_line);
|
||||
}
|
||||
weechat_infolist_free (ptr_infolist);
|
||||
}
|
||||
|
@ -730,7 +855,7 @@ logger_buffer_opened_signal_cb (void *data, const char *signal,
|
|||
(void) signal;
|
||||
(void) type_data;
|
||||
|
||||
logger_start_buffer (signal_data);
|
||||
logger_start_buffer (signal_data, 1);
|
||||
|
||||
return WEECHAT_RC_OK;
|
||||
}
|
||||
|
@ -767,7 +892,7 @@ logger_buffer_renamed_signal_cb (void *data, const char *signal,
|
|||
(void) type_data;
|
||||
|
||||
logger_stop (logger_buffer_search_buffer (signal_data), 1);
|
||||
logger_start_buffer (signal_data);
|
||||
logger_start_buffer (signal_data, 1);
|
||||
|
||||
return WEECHAT_RC_OK;
|
||||
}
|
||||
|
@ -888,7 +1013,7 @@ logger_start_signal_cb (void *data, const char *signal, const char *type_data,
|
|||
(void) signal;
|
||||
(void) type_data;
|
||||
|
||||
logger_start_buffer (signal_data);
|
||||
logger_start_buffer (signal_data, 1);
|
||||
|
||||
return WEECHAT_RC_OK;
|
||||
}
|
||||
|
@ -915,6 +1040,66 @@ logger_stop_signal_cb (void *data, const char *signal, const char *type_data,
|
|||
return WEECHAT_RC_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
* logger_adjust_log_filenames: adjust log filenames for all buffers
|
||||
* filename can change if config option is changed,
|
||||
* or if day of system date has changed
|
||||
*/
|
||||
|
||||
void
|
||||
logger_adjust_log_filenames ()
|
||||
{
|
||||
struct t_infolist *ptr_infolist;
|
||||
struct t_logger_buffer *ptr_logger_buffer;
|
||||
struct t_gui_buffer *ptr_buffer;
|
||||
char *log_filename;
|
||||
|
||||
ptr_infolist = weechat_infolist_get ("buffer", NULL, NULL);
|
||||
if (ptr_infolist)
|
||||
{
|
||||
while (weechat_infolist_next (ptr_infolist))
|
||||
{
|
||||
ptr_buffer = weechat_infolist_pointer (ptr_infolist, "pointer");
|
||||
ptr_logger_buffer = logger_buffer_search_buffer (ptr_buffer);
|
||||
if (ptr_logger_buffer && ptr_logger_buffer->log_filename)
|
||||
{
|
||||
log_filename = logger_get_filename (ptr_logger_buffer->buffer);
|
||||
if (log_filename)
|
||||
{
|
||||
if (strcmp (log_filename, ptr_logger_buffer->log_filename) != 0)
|
||||
{
|
||||
/* log filename has changed (probably due to day change),
|
||||
then we'll use new filename */
|
||||
logger_stop (ptr_logger_buffer, 1);
|
||||
logger_start_buffer (ptr_buffer, 1);
|
||||
}
|
||||
free (log_filename);
|
||||
}
|
||||
}
|
||||
}
|
||||
weechat_infolist_free (ptr_infolist);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* logger_day_changed_signal_cb: callback for "day_changed" signal
|
||||
*/
|
||||
|
||||
int
|
||||
logger_day_changed_signal_cb (void *data, const char *signal,
|
||||
const char *type_data, void *signal_data)
|
||||
{
|
||||
/* make C compiler happy */
|
||||
(void) data;
|
||||
(void) signal;
|
||||
(void) type_data;
|
||||
(void) signal_data;
|
||||
|
||||
logger_adjust_log_filenames ();
|
||||
|
||||
return WEECHAT_RC_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
* logger_line_log_level: get log level for a line (with its tags)
|
||||
*/
|
||||
|
@ -1040,7 +1225,7 @@ weechat_plugin_init (struct t_weechat_plugin *plugin, int argc, char *argv[])
|
|||
" || disable",
|
||||
&logger_command_cb, NULL);
|
||||
|
||||
logger_start_buffer_all ();
|
||||
logger_start_buffer_all (1);
|
||||
|
||||
weechat_hook_signal ("buffer_opened", &logger_buffer_opened_signal_cb, NULL);
|
||||
weechat_hook_signal ("buffer_closing", &logger_buffer_closing_signal_cb, NULL);
|
||||
|
@ -1048,6 +1233,7 @@ weechat_plugin_init (struct t_weechat_plugin *plugin, int argc, char *argv[])
|
|||
weechat_hook_signal ("logger_backlog", &logger_backlog_signal_cb, NULL);
|
||||
weechat_hook_signal ("logger_start", &logger_start_signal_cb, NULL);
|
||||
weechat_hook_signal ("logger_stop", &logger_stop_signal_cb, NULL);
|
||||
weechat_hook_signal ("day_changed", &logger_day_changed_signal_cb, NULL);
|
||||
|
||||
weechat_hook_print (NULL, NULL, NULL, 1, &logger_print_cb, NULL);
|
||||
|
||||
|
@ -1068,7 +1254,7 @@ weechat_plugin_end (struct t_weechat_plugin *plugin)
|
|||
|
||||
logger_config_write ();
|
||||
|
||||
logger_stop_all ();
|
||||
logger_stop_all (1);
|
||||
|
||||
logger_config_free ();
|
||||
|
||||
|
|
|
@ -28,7 +28,8 @@
|
|||
|
||||
extern struct t_weechat_plugin *weechat_logger_plugin;
|
||||
|
||||
extern void logger_start_buffer_all ();
|
||||
extern void logger_stop_all ();
|
||||
extern void logger_start_buffer_all (int write_info_line);
|
||||
extern void logger_stop_all (int write_info_line);
|
||||
extern void logger_adjust_log_filenames ();
|
||||
|
||||
#endif /* logger.h */
|
||||
|
|
Loading…
Reference in New Issue