qmsk/irclogs/config.py
author Tero Marttila <terom@fixme.fi>
Sun, 13 Sep 2009 20:11:00 +0300
changeset 144 35c4c56f1376
parent 141 65c98c9e1716
child 153 47dbaa6b13b0
permissions -rw-r--r--
update HGWEB_URL
"""
    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 to the dir containing this file
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('/home/spbot/irclogs/tycoon'),    LOG_TIMEZONE, LOG_PARSER, LOG_DECODER, LOG_FILENAME_FMT)
    ),

    LogChannel('openttd',   "OFTC",     "#openttd", 
        LogDirectory(relpath('/home/spbot/irclogs/openttd'),   LOG_TIMEZONE, LOG_PARSER, LOG_DECODER, LOG_FILENAME_FMT)
    ),

    LogChannel('test',      "TEST",     "#test",
        LogDirectory(relpath('/home/spbot/irclogs/test'),  LOG_TIMEZONE, LOG_PARSER, LOG_DECODER, LOG_FILENAME_FMT)
    )
])

# URL to the hgweb installation for this code
HGWEB_URL                       = "http://hg.qmsk.net/qmsk.irclogs"

# path to the mercurial working copy
HG_WC_PATH                      = "."

# 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 =         {
    # XXX: no unicode support
    #    '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,
}

# Cookie settings
PREF_COOKIE_PATH                = '/'
PREF_COOKIE_EXPIRE_SECONDS      = 1 * 365 * 24 * 60 * 60    # one year

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

# search line count options
SEARCH_LINE_COUNT_OPTIONS       = (
    (50,    50), 
    (100,   100), 
    (200,   200), 

# infinity, not supported
#    (0,     "&#8734;"),
)

# search index database path
SEARCH_INDEX_PATH               = '/home/spbot/irclogs/search-index'
SEARCH_AUTOINDEX_PATH           = '/home/spbot/irclogs/search-autoindex'