import sys import ConfigParser from postfix_log_parser import PostfixLogParser from postfixmts.model.postfixlog import * from postfixmts.model import init_model from sqlalchemy.orm import sessionmaker from sqlalchemy import create_engine config = ConfigParser.ConfigParser( { 'here' : os.getcwd() } ) config.read(os.path.join(os.getcwd(), 'development.ini')) sqlalchemy_url = config.get('app:main', 'sqlalchemy.url') engine = create_engine(sqlalchemy_url, echo = False) init_model(engine) class PostfixLog2DB(PostfixLogParser): def __init__(self): pass def process_log_prefix(self, log_line, obj): obj.date = log_line[self.DATE] obj.time = log_line[self.TIME] obj.hostname = log_line[self.HOSTNAME] if self.QUEUE_ID in log_line: obj.queue_id = log_line[self.QUEUE_ID] def process_client_line(self, log_line): client_line = ClientLine()
def setup_db(): """Method used to build a database""" engine = config['pylons.app_globals'].sa_engine model.init_model(engine) model.metadata.create_all(engine)