config.py
changeset 82 afd3120ec71e
parent 81 745032a57803
child 86 645cf9c4441e
--- a/config.py	Tue Feb 10 03:48:51 2009 +0200
+++ b/config.py	Tue Feb 10 04:27:22 2009 +0200
@@ -5,7 +5,7 @@
 import os.path, pytz
 from log_parser import IrssiParser
 from log_channel import LogChannel
-from log_source import LogDirectory
+from log_source import LogSourceDecoder, LogDirectory
 from log_formatter import IrssiFormatter
 from channels import ChannelList
 import log_formatter
@@ -23,8 +23,11 @@
 # timestamp format for logfiles
 LOG_TIMESTAMP_FMT               = '%H:%M:%S'
 
-# character set used for logfiles
-LOG_CHARSET                     = 'utf-8'
+# the decoder used for logfiles
+LOG_DECODER                     = LogSourceDecoder((
+    ('utf-8',       'strict'),
+    ('latin-1',     'replace'),
+))
 
 # log filename format
 LOG_FILENAME_FMT                = '%Y-%m-%d'
@@ -36,18 +39,21 @@
 # the statically defined channel list
 LOG_CHANNELS                    = ChannelList([
     LogChannel('tycoon',    "OFTC",     "#tycoon", 
-        LogDirectory(relpath('logs/tycoon'),    LOG_TIMEZONE, LOG_PARSER, LOG_CHARSET, LOG_FILENAME_FMT)
+        LogDirectory(relpath('logs/tycoon'),    LOG_TIMEZONE, LOG_PARSER, LOG_DECODER, LOG_FILENAME_FMT)
     ),
 
     LogChannel('openttd',   "OFTC",     "#openttd", 
-        LogDirectory(relpath('logs/openttd'),   LOG_TIMEZONE, LOG_PARSER, LOG_CHARSET, LOG_FILENAME_FMT)
+        LogDirectory(relpath('logs/openttd'),   LOG_TIMEZONE, LOG_PARSER, LOG_DECODER, LOG_FILENAME_FMT)
     ),
 
     LogChannel('test',      "TEST",     "#test",
-        LogDirectory(relpath('/home/terom/irclogs/test'),  LOG_TIMEZONE, LOG_PARSER_FULLTS, LOG_CHARSET, LOG_FILENAME_FMT)
+        LogDirectory(relpath('/home/terom/irclogs/test'),  LOG_TIMEZONE, LOG_PARSER_FULLTS, LOG_DECODER, LOG_FILENAME_FMT)
     )
 ])
 
+# how to handle decode() errors for logfile lines
+LOG_SOURCE_DECODE_ERRORS        = 'replace'
+
 # date format for URLs
 URL_DATE_FMT                    = '%Y-%m-%d'
 
@@ -81,10 +87,13 @@
 PREF_IMAGE_FONT_SIZE_MAX        = 32
 
 # search line count options
-SEARCH_LINE_COUNT_OPTIONS =     (
+SEARCH_LINE_COUNT_OPTIONS       = (
     (50,    50), 
     (100,   100), 
     (200,   200), 
     (None,  "∞"),
 )
 
+# search index database path
+SEARCH_INDEX_PATH               = 'logs/index'
+