config.py
author Tero Marttila <terom@fixme.fi>
Wed, 11 Feb 2009 23:22:13 +0200
changeset 113 9fc0eb751b6a
parent 86 645cf9c4441e
child 119 df859bfdd3be
permissions -rw-r--r--
add <form> for month/year to calendar header
"""
    Configureable defaults
"""

import os.path, pytz
from log_parser import IrssiParser
from log_channel import LogChannel
from log_source import LogSourceDecoder, LogDirectory
from log_formatter import IrssiFormatter, DebugFormatter
from channels import ChannelList
import log_formatter

# build relative paths
relpath = lambda path : os.path.join(os.path.dirname(__file__), path)

###                     ###
###    Configuration    ###
###                     ###

# timezone to use for logs
LOG_TIMEZONE                    = pytz.timezone('Europe/Helsinki')

# timestamp format for logfiles
LOG_TIMESTAMP_FMT               = '%H:%M:%S'

# the decoder used for logfiles
LOG_DECODER                     = LogSourceDecoder((
    ('utf-8',       'strict'),
    ('latin-1',     'replace'),
))

# log filename format
LOG_FILENAME_FMT                = '%Y-%m-%d'

# the log parser that we use
LOG_PARSER                      = IrssiParser(LOG_TIMEZONE, LOG_TIMESTAMP_FMT)
LOG_PARSER_FULLTS               = IrssiParser(LOG_TIMEZONE, '%Y%m%d%H%M%S')

# the statically defined channel list
LOG_CHANNELS                    = ChannelList([
    LogChannel('tycoon',    "OFTC",     "#tycoon", 
        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_DECODER, LOG_FILENAME_FMT)
    ),

    LogChannel('test',      "TEST",     "#test",
        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'

# month name format
MONTH_FMT                       = '%B %Y'

# timezone name format
TIMEZONE_FMT                    = '%Z %z'

# TTF fonts to use for drawing images
FORMATTER_IMAGE_FONTS =         {
    'default':              (None,                                                                  "Ugly default font"         ),
    'ttf-dejavu-mono':      ("/usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono.ttf",             "DejaVu Sans Mono"          ),
    'ttf-liberation-mono':  ("/usr/share/fonts/truetype/ttf-liberation/LiberationMono-Regular.ttf", "Liberation Mono Regular"   )
}

# available formatters
LOG_FORMATTERS =                {
    'irssi':        IrssiFormatter,
    'debug':        DebugFormatter,
}

# default preferences
PREF_TIME_FMT_DEFAULT           = '%H:%M:%S'
PREF_DATE_FMT_DEFAULT           = '%Y-%m-%d'
PREF_TIMEZONE_DEFAULT           = pytz.utc
PREF_FORMATTER_DEFAULT          = IrssiFormatter
PREF_COUNT_DEFAULT              = 200
PREF_COUNT_MAX                  = None
PREF_IMAGE_FONT_DEFAULT         = 'default'
PREF_IMAGE_FONT_SIZE_DEFAULT    = 10
PREF_IMAGE_FONT_SIZE_MAX        = 32

# search line count options
SEARCH_LINE_COUNT_OPTIONS       = (
    (50,    50), 
    (100,   100), 
    (200,   200), 
    (None,  "&#8734;"),
)

# search index database path
SEARCH_INDEX_PATH               = 'logs/index'