terom@73: """ terom@73: Configureable defaults terom@73: """ terom@73: terom@73: import os.path, pytz terom@73: from log_parser import IrssiParser terom@73: from log_channel import LogChannel terom@82: from log_source import LogSourceDecoder, LogDirectory terom@86: from log_formatter import IrssiFormatter, DebugFormatter terom@73: from channels import ChannelList terom@119: import version terom@73: import log_formatter terom@73: terom@128: # build relative paths to the dir containing this file terom@73: relpath = lambda path : os.path.join(os.path.dirname(__file__), path) terom@73: terom@79: ### ### terom@79: ### Configuration ### terom@79: ### ### terom@79: terom@73: # timezone to use for logs terom@79: LOG_TIMEZONE = pytz.timezone('Europe/Helsinki') terom@73: terom@73: # timestamp format for logfiles terom@79: LOG_TIMESTAMP_FMT = '%H:%M:%S' terom@73: terom@82: # the decoder used for logfiles terom@82: LOG_DECODER = LogSourceDecoder(( terom@82: ('utf-8', 'strict'), terom@82: ('latin-1', 'replace'), terom@82: )) terom@73: terom@73: # log filename format terom@79: LOG_FILENAME_FMT = '%Y-%m-%d' terom@73: terom@73: # the log parser that we use terom@79: LOG_PARSER = IrssiParser(LOG_TIMEZONE, LOG_TIMESTAMP_FMT) terom@121: #LOG_PARSER_FULLTS = IrssiParser(LOG_TIMEZONE, '%Y%m%d%H%M%S') terom@73: terom@73: # the statically defined channel list terom@79: LOG_CHANNELS = ChannelList([ terom@73: LogChannel('tycoon', "OFTC", "#tycoon", terom@121: LogDirectory(relpath('/home/spbot/irclogs/tycoon'), LOG_TIMEZONE, LOG_PARSER, LOG_DECODER, LOG_FILENAME_FMT) terom@73: ), terom@73: terom@73: LogChannel('openttd', "OFTC", "#openttd", terom@121: LogDirectory(relpath('/home/spbot/irclogs/openttd'), LOG_TIMEZONE, LOG_PARSER, LOG_DECODER, LOG_FILENAME_FMT) terom@73: ), terom@81: terom@81: LogChannel('test', "TEST", "#test", terom@121: LogDirectory(relpath('/home/spbot/irclogs/test'), LOG_TIMEZONE, LOG_PARSER, LOG_DECODER, LOG_FILENAME_FMT) terom@81: ) terom@73: ]) terom@73: terom@119: # version stuff terom@119: HGWEB_URL = "http://hg.qmsk.net/irclogs2" terom@128: VERSION_LINK = version.version_link_hg(HGWEB_URL, relpath(".")) terom@119: terom@119: # Footer text to display terom@119: HTML_FOOTER_TEXT = 'irclogs2 version %s' % (VERSION_LINK) terom@119: terom@82: # how to handle decode() errors for logfile lines terom@82: LOG_SOURCE_DECODE_ERRORS = 'replace' terom@82: terom@73: # date format for URLs terom@79: URL_DATE_FMT = '%Y-%m-%d' terom@73: terom@73: # month name format terom@79: MONTH_FMT = '%B %Y' terom@73: terom@73: # timezone name format terom@79: TIMEZONE_FMT = '%Z %z' terom@79: terom@79: # TTF fonts to use for drawing images terom@79: FORMATTER_IMAGE_FONTS = { terom@124: # XXX: no unicode support terom@124: # 'default': (None, "Ugly default font" ), terom@79: 'ttf-dejavu-mono': ("/usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono.ttf", "DejaVu Sans Mono" ), terom@79: 'ttf-liberation-mono': ("/usr/share/fonts/truetype/ttf-liberation/LiberationMono-Regular.ttf", "Liberation Mono Regular" ) terom@79: } terom@73: terom@73: # available formatters terom@79: LOG_FORMATTERS = { terom@79: 'irssi': IrssiFormatter, terom@86: 'debug': DebugFormatter, terom@79: } terom@73: terom@73: # default preferences terom@79: PREF_TIME_FMT_DEFAULT = '%H:%M:%S' terom@79: PREF_DATE_FMT_DEFAULT = '%Y-%m-%d' terom@79: PREF_TIMEZONE_DEFAULT = pytz.utc terom@79: PREF_FORMATTER_DEFAULT = IrssiFormatter terom@79: PREF_COUNT_DEFAULT = 200 terom@79: PREF_COUNT_MAX = None terom@124: PREF_IMAGE_FONT_DEFAULT = 'ttf-dejavu-mono' terom@124: PREF_IMAGE_FONT_SIZE_DEFAULT = 12 terom@79: PREF_IMAGE_FONT_SIZE_MAX = 32 terom@73: terom@73: # search line count options terom@82: SEARCH_LINE_COUNT_OPTIONS = ( terom@73: (50, 50), terom@73: (100, 100), terom@73: (200, 200), terom@73: (None, "∞"), terom@73: ) terom@73: terom@82: # search index database path terom@121: SEARCH_INDEX_PATH = '/home/spbot/irclogs/search-index' terom@121: SEARCH_AUTOINDEX_PATH = '/home/spbot/irclogs/search-autoindex' terom@82: