Пример #1
0
def load_sqlalchemy_karesansui(handler):
    """<comment-ja>
    リクエストスコープ単位にKaresansuiデータベースのセッションを割り当てる。
    </comment-ja>
    <comment-en>
    TODO: English Comment
    </comment-en>
    """
    
    import karesansui.db
    web.ctx.orm = karesansui.db.get_session()
    
    logger = logging.getLogger("karesansui.processor.karesansui")

    logger.debug('Karesansui database session scope [start] - %s' % web.ctx.orm)
    try:
        ret = handler()
        web.ctx.orm.commit()
        logger.debug('Karesansui database session scope [commit] - %s' % web.ctx.orm)
        return ret 
    except web.HTTPError:
        if web.ctx.status[:1] in ['2', '3']:
            web.ctx.orm.commit()
            logger.debug('Karesansui database session scope [commit] : HTTP Status=%s - %s' % (web.ctx.status, web.ctx.orm))
            raise
        else:
            web.ctx.orm.rollback()
            logger.debug('Karesansui database session scope [rollback] : HTTP Status=%s - %s' % (web.ctx.orm, web.ctx.status))
            raise
    except:
        web.ctx.orm.rollback()
        logger.debug('Karesansui database session scope [rollback] - %s' % web.ctx.orm)
        raise
Пример #2
0
def load_sqlalchemy_pysilhouette(handler):
    """<comment-ja>
    リクエストスコープ単位にPysilhouetteデータベースのセッションを割り当てる。
    </comment-ja>
    <comment-en>
    TODO: English Comment
    </comment-en>
    """
    
    import karesansui.db._2pysilhouette
    from web.utils import Storage
    web.ctx.pysilhouette = Storage()
    web.ctx.pysilhouette.orm = karesansui.db._2pysilhouette.get_session()
    
    logger = logging.getLogger("karesansui.processor.pysilhouette")
    
    try:
        ret = handler()
        web.ctx.pysilhouette.orm.commit()
        logger.debug('Pysilhouette database session scope [commit] - %s' % web.ctx.orm)
        return ret 
    except web.HTTPError:
        if web.ctx.status[:1] in ['2', '3']:
            web.ctx.pysilhouette.orm.commit()
            logger.debug('Pysilhouette database session scope [commit] : HTTP Status=%s - %s' % (web.ctx.status, web.ctx.orm))
            raise
        else:
            web.ctx.pysilhouette.orm.rollback()
            logger.debug('Pysilhouette database session scope [rollback] : HTTP Status=%s - %s' % (web.ctx.orm, web.ctx.status))
            raise
    except:
        web.ctx.pysilhouette.orm.rollback()
        logger.debug('Karesansui database session scope [commit] - %s' % web.ctx.orm)
        raise
Пример #3
0
def load_sqlalchemy_karesansui(handler):
    """<comment-ja>
    リクエストスコープ単位にKaresansuiデータベースのセッションを割り当てる。
    </comment-ja>
    <comment-en>
    TODO: English Comment
    </comment-en>
    """

    import karesansui.db
    web.ctx.orm = karesansui.db.get_session()

    logger = logging.getLogger("karesansui.processor.karesansui")

    logger.debug('Karesansui database session scope [start] - %s' %
                 web.ctx.orm)
    try:
        ret = handler()
        web.ctx.orm.commit()
        logger.debug('Karesansui database session scope [commit] - %s' %
                     web.ctx.orm)
        return ret
    except web.HTTPError:
        if web.ctx.status[:1] in ['2', '3']:
            web.ctx.orm.commit()
            logger.debug(
                'Karesansui database session scope [commit] : HTTP Status=%s - %s'
                % (web.ctx.status, web.ctx.orm))
            raise
        else:
            web.ctx.orm.rollback()
            logger.debug(
                'Karesansui database session scope [rollback] : HTTP Status=%s - %s'
                % (web.ctx.orm, web.ctx.status))
            raise
    except:
        web.ctx.orm.rollback()
        logger.debug('Karesansui database session scope [rollback] - %s' %
                     web.ctx.orm)
        raise
Пример #4
0
def load_sqlalchemy_pysilhouette(handler):
    """<comment-ja>
    リクエストスコープ単位にPysilhouetteデータベースのセッションを割り当てる。
    </comment-ja>
    <comment-en>
    TODO: English Comment
    </comment-en>
    """

    import karesansui.db._2pysilhouette
    from web.utils import Storage
    web.ctx.pysilhouette = Storage()
    web.ctx.pysilhouette.orm = karesansui.db._2pysilhouette.get_session()

    logger = logging.getLogger("karesansui.processor.pysilhouette")

    try:
        ret = handler()
        web.ctx.pysilhouette.orm.commit()
        logger.debug('Pysilhouette database session scope [commit] - %s' %
                     web.ctx.orm)
        return ret
    except web.HTTPError:
        if web.ctx.status[:1] in ['2', '3']:
            web.ctx.pysilhouette.orm.commit()
            logger.debug(
                'Pysilhouette database session scope [commit] : HTTP Status=%s - %s'
                % (web.ctx.status, web.ctx.orm))
            raise
        else:
            web.ctx.pysilhouette.orm.rollback()
            logger.debug(
                'Pysilhouette database session scope [rollback] : HTTP Status=%s - %s'
                % (web.ctx.orm, web.ctx.status))
            raise
    except:
        web.ctx.pysilhouette.orm.rollback()
        logger.debug('Karesansui database session scope [commit] - %s' %
                     web.ctx.orm)
        raise