__init__.py 1.33 KB
#!/bin/env python
# -*- coding: utf-8 -*-
__author__ = 'eduardo'
import os

import ConfigParser
import logging
import logging.config
from sqlalchemy.engine import create_engine
from sqlalchemy.orm import scoped_session, sessionmaker


def load_config(environment='development'):
    config = ConfigParser.ConfigParser()
    here = os.path.abspath(os.path.dirname(__file__))
    config_file = os.path.join(here, '../' + environment + '.ini')
    config.read(config_file)

    # Logging
    logging.config.fileConfig(config_file)

    return config


class Cocar(object):
    """
    Classe global com as configurações
    """

    def __init__(self,
                 environment='development'
                 ):
        """
        Parâmetro construtor
        """
        self.config = load_config(environment)
        cocar_data_dir = self.config.get('cocar', 'data_dir')

        if os.path.isdir(cocar_data_dir):
            self.cocar_data_dir = cocar_data_dir
        else:
            os.mkdir(cocar_data_dir)
            self.cocar_data_dir = cocar_data_dir

        # SQLAlchemy
        sqlalchemy_url = self.config.get('sqlalchemy', 'url')
        self.engine = create_engine(sqlalchemy_url, echo=True)
        self.Session = scoped_session(
            sessionmaker(bind=self.engine,
                         autocommit=True
            )
        )