예제 #1
0
def main():
    global logger
    logging.basicConfig(level=logging.WARNING,
                        format="[%(asctime)s %(levelname)s] %(message)s")
    logger = logging.getLogger()

    args = parse_args()

    # set logging level
    if args.verbose > 1:
        set_log_debug(logger)
    elif args.verbose == 1:
        set_log_info(logger)

    atexit.register(cleanup_db)
    Base.metadata.reflect(engine)
    Base.metadata.drop_all(engine)
    db_session.flush()
    db_session.commit()
    init_db()

    logger.info('Loading data from: %s.%s', args.modname, args.clsname)
    klass = getattr(importlib.import_module(args.modname), args.clsname)
    inst = klass(db_session)
    logger.info('Loading data')
    inst.load()
    db_session.commit()
    logger.info('Data loaded.')
예제 #2
0
def apiclient(api_url=None, ca_bundle=None, client_cert=None, client_key=None):
    if api_url is None:
        logger.info('Using OfxApiLocal direct database access')
        import atexit
        from biweeklybudget.db import init_db, cleanup_db, db_session
        atexit.register(cleanup_db)
        init_db()
        return OfxApiLocal(db_session)
    logger.info('Using OfxApiRemote with base_url %s', api_url)
    return OfxApiRemote(api_url,
                        ca_bundle=ca_bundle,
                        client_cert_path=client_cert,
                        client_key_path=client_key)
예제 #3
0
def main():
    global logger
    logging.basicConfig(level=logging.WARNING,
                        format="[%(asctime)s %(levelname)s] %(message)s")
    logger = logging.getLogger()

    args = parse_args()

    # set logging level
    if args.verbose > 1:
        set_log_debug(logger)
    elif args.verbose == 1:
        set_log_info(logger)

    logger.info('Initializing DB...')
    init_db()
    logger.info('Done initializing database')
예제 #4
0
logging.basicConfig(level=logging.DEBUG, format=format)
logger = logging.getLogger()

if 'BIWEEKLYBUDGET_LOG_FILE' in os.environ:
    # mainly for acceptance tests
    fhandler = logging.FileHandler(os.environ['BIWEEKLYBUDGET_LOG_FILE'])
    fhandler.setLevel(logging.DEBUG)
    fhandler.setFormatter(logging.Formatter(fmt=format))
    logger.addHandler(fhandler)

fix_werkzeug_logger()

app = Flask(__name__)
app.jinja_env.add_extension('jinja2.ext.loopcontrols')
app.json_encoder = MagicJSONEncoder
init_db()


def before_request():
    """
    When running in debug mode, clear jinja cache.
    """
    logger.warning('DEBUG MODE - Clearing jinja cache')
    app.jinja_env.cache = {}


@app.teardown_appcontext
def shutdown_session(exception=None):
    cleanup_db()

예제 #5
0
 def __init__(self):
     atexit.register(cleanup_db)
     init_db()
예제 #6
0
def main():
    logger.debug('Initalizing database')
    atexit.register(cleanup_db)
    init_db()
    logger.debug('Database initialized')
    print("DO STUFF HERE")
예제 #7
0
def main():
    logger.debug('Initalizing database')
    atexit.register(cleanup_db)
    init_db()
    logger.debug('Database initialized')
    print("DO STUFF HERE; database session is 'db_session' global")
예제 #8
0
 def __init__(self):
     atexit.register(cleanup_db)
     init_db()
     self._wlist = Wishlist()