]> jfr.im git - irc/rizon/acid.git/blob - pyva/pyva/src/main/python/core.py
Split pyva plugin into pyva.core and pyva.pyva
[irc/rizon/acid.git] / pyva / pyva / src / main / python / core.py
1 import ConfigParser
2 import codecs
3 from istring import istring
4 import MySQLdb as db
5 import logging
6 import logging.handlers
7
8 config = ConfigParser.ConfigParser()
9 config.readfp(codecs.open("config.ini", "r"))
10
11 anope_major = int(config.get('services', 'anope_major'))
12 if anope_major not in [1, 2]:
13 raise Exception('Unknown anope major version %s' % anope_major)
14
15 dbx = db.connect(
16 host=config.get('database', 'host'),
17 user=config.get('database', 'user'),
18 passwd=config.get('database', 'passwd'),
19 db=config.get('database', 'db'),
20 unix_socket=config.get('database','sock')
21 )
22 dbx.ping(True)
23 dbx.autocommit(True) #no need to have transactions
24
25 logfile = config.get('logging', 'logfile')
26 loglevel = getattr(logging, config.get('logging', 'level').upper())
27
28 FORMAT = '%(asctime)s %(name)s(%(lineno)s) [%(levelname)s] %(message)s'
29 handler = logging.handlers.TimedRotatingFileHandler(
30 logfile, when='midnight', backupCount=7)
31 handler.setFormatter(logging.Formatter(FORMAT))
32
33 log = logging.getLogger('')
34 log.addHandler(handler)
35 log.setLevel(loglevel)
36
37 import pyva_java_lang_System as javasys
38 import sys
39
40 class StdOutWriter(object):
41 def write(self, what):
42 # print is Python keyword, so call println with what.strip() instead of print
43 javasys.out.println(what.rstrip())
44
45 class StdErrWriter(object):
46 def write(self, what):
47 javasys.err.println(what.rstrip())
48
49 sys.stdout = StdOutWriter()
50 sys.stderr = StdErrWriter()