コード例 #1
0
ファイル: clone_discussion.py プロジェクト: assembl/assembl
def engine_from_settings(config, full_config=False):
    settings = get_appsettings(config, 'assembl')
    if settings['sqlalchemy.url'].startswith('virtuoso:'):
        db_schema = '.'.join((settings['db_schema'], settings['db_user']))
    else:
        db_schema = settings['db_schema']
    set_config(settings, True)
    session = None
    if full_config:
        env = bootstrap(config)
        configure_zmq(settings['changes_socket'], False)
        configure_indexing()
        configure_model_watcher(env['registry'], 'assembl')
        logging.config.fileConfig(config)
        session = get_session_maker()
        metadata = get_metadata()
    else:
        session = make_session_maker(zope_tr=True)
        import assembl.models
        from assembl.lib.sqla import class_registry
        engine = configure_engine(settings, session_maker=session)
        metadata = get_metadata()
        metadata.bind = engine
        session = sessionmaker(engine)()
    return (metadata, session)
コード例 #2
0
ファイル: clone_discussion.py プロジェクト: shangxor/assembl
def engine_from_settings(config, full_config=False):
    settings = get_appsettings(config, 'assembl')
    if settings['sqlalchemy.url'].startswith('virtuoso:'):
        db_schema = '.'.join((settings['db_schema'], settings['db_user']))
    else:
        db_schema = settings['db_schema']
    set_config(settings, True)
    session = None
    if full_config:
        env = bootstrap(config)
        configure_zmq(settings['changes_socket'], False)
        configure_indexing()
        configure_model_watcher(env['registry'], 'assembl')
        logging.config.fileConfig(config)
        session = get_session_maker()
        metadata = get_metadata()
    else:
        session = make_session_maker(zope_tr=True)
        import assembl.models
        from assembl.lib.sqla import class_registry
        engine = configure_engine(settings, session_maker=session)
        metadata = get_metadata()
        metadata.bind = engine
        session = sessionmaker(engine)()
    return (metadata, session)
コード例 #3
0
def main():
    config_fname = sys.argv[1]
    settings = get_appsettings(config_fname, 'assembl')
    set_config(settings)
    logging.config.fileConfig(config_fname)
    configure_zmq(settings['changes_socket'], False)
    configure_engine(settings, True)
    session = get_session_maker()()
    add_semantic_analysis_tab_to_all_discussions(session)
コード例 #4
0
def main():
    parser = argparse.ArgumentParser()
    parser.add_argument("configuration", help="The configuration of the application.", default="local.ini")
    args = parser.parse_args()
    env = bootstrap(args.configuration)
    settings = get_appsettings(args.configuration, 'assembl')
    set_config(settings)
    configure_zmq(settings['changes_socket'], False)
    configure_model_watcher(env['registry'], 'assembl')
    _ = configure_engine(settings, True)
    try:
        from assembl.graphql.schema import Schema, generate_schema_json_from_schema
        generate_schema_json_from_schema(Schema, spec_wrap=True)

    except Exception as _:
        traceback.print_exc()
        pdb.post_mortem()
コード例 #5
0
def main():
    parser = argparse.ArgumentParser()
    parser.add_argument(
        "configuration",
        help="configuration file with destination database configuration")
    args = parser.parse_args()
    settings = get_appsettings(args.configuration, 'assembl')
    set_config(settings)
    logging.config.fileConfig(args.configuration)
    configure_zmq(settings['changes.socket'], False)
    configure_engine(settings, True)
    session = get_session_maker()()
    try:
        reindex_all_contents(session)
        transaction.commit()
    except Exception as e:
        traceback.print_exc()
        pdb.post_mortem()
コード例 #6
0
def main():
    parser = argparse.ArgumentParser()
    parser.add_argument("configuration",
                        help="The configuration of the application.",
                        default="local.ini")
    args = parser.parse_args()
    env = bootstrap(args.configuration)
    settings = get_appsettings(args.configuration, 'assembl')
    set_config(settings)
    configure_zmq(settings['changes_socket'], False)
    configure_model_watcher(env['registry'], 'assembl')
    _ = configure_engine(settings, True)
    try:
        from assembl.graphql.schema import Schema, generate_schema_json_from_schema
        generate_schema_json_from_schema(Schema, spec_wrap=True)

    except Exception as _:
        traceback.print_exc()
        pdb.post_mortem()
コード例 #7
0
def engine_from_settings(config, full_config=False):
    settings = get_appsettings(config, 'idealoom')
    db_schema = settings['db_schema']
    set_config(settings, True)
    session = None
    if full_config:
        env = bootstrap(config)
        configure_zmq(settings['changes_socket'], False)
        configure_model_watcher(env['registry'], 'idealoom')
        logging.config.fileConfig(config)
    else:
        session = make_session_maker(zope_tr=True)
    import assembl.models
    from assembl.lib.sqla import class_registry
    engine = configure_engine(settings, session_maker=session)
    metadata = get_metadata()
    metadata.bind = engine
    session = sessionmaker(engine)()
    return (metadata, session)
コード例 #8
0
def main():
    parser = argparse.ArgumentParser()
    parser.add_argument(
        "configuration",
        help="configuration file with destination database configuration")
    args = parser.parse_args()
    env = bootstrap(args.configuration)
    settings = get_appsettings(args.configuration, 'assembl')
    set_config(settings)
    logging.config.fileConfig(args.configuration)
    configure_zmq(settings['changes_socket'], False)
    configure_indexing()
    configure_engine(settings, True)
    session = get_session_maker()()
    try:
        reindex_all_contents(session)
        transaction.commit()
    except Exception as e:
        traceback.print_exc()
        pdb.post_mortem()
コード例 #9
0
ファイル: rebuild_tables.py プロジェクト: shangxor/assembl
                     help="This table's fkeys will be rebuilt.")
 parser.add_argument("--rebuild_all_fkeys", action="store_true", default=False,
                     help="All tables fkeys will be rebuilt.")
 parser.add_argument("--rebuild_all_tables", action="store_true", default=False,
                     help="All tables will be rebuilt.")
 parser.add_argument("--ensure_inheritance", action="store_true", default=False,
                     help="Make sure no class has a missing subclass row.")
 parser.add_argument("-d", "--delete_missing", action="store_true", default=False,
                     help="Delete rows with missing corresponding values. (otherwise abort rebuild.)")
 parser.add_argument("--reset_extract_discussion", action="store_true", default=False,
                     help="Special case: rebuild a dependent foreign key on extract table")
 args = parser.parse_args()
 settings = get_appsettings(args.configuration, 'assembl')
 set_config(settings)
 logging.config.fileConfig(args.configuration)
 configure_zmq(settings['changes_socket'], False)
 configure_indexing()
 configure_engine(settings, True)
 session = get_session_maker()()
 import assembl.models
 try:
     if (args.reset_extract_discussion and
             session.query(assembl.models.Extract).filter_by(discussion_id=-1).count()):
         session.execute("""UPDATE "extract" SET discussion_id = (
             SELECT content.discussion_id FROM content
                 JOIN idea_content_link on (content_id=content.id)
                 JOIN "extract" on ("extract".id = idea_content_link.id)
                 WHERE "extract".discussion_id=-1)""")
     if args.rebuild_all_tables:
         rebuild_all_tables(session, args.delete_missing)
     elif args.rebuild_all_fkeys:
コード例 #10
0
from assembl.semantic import upgrade_semantic_mapping

# this is the Alembic Config object, which provides
# access to the values within the .ini file in use.
config = context.config

# Interpret the config file for Python logging.
# This line sets up loggers basically.
fileConfig(config.config_file_name)

_settings = config.file_config._sections['app:idealoom']
# Add a marker that we're in alembic, some things need not happen
_settings['in_alembic'] = True
set_config(_settings)
pyramid_env = bootstrap(config.config_file_name)
configure_zmq(pyramid_env['registry'].settings['changes_socket'], False)

configure_engine(pyramid_env['registry'].settings, False)

def run_migrations_online():
    """Run migrations in 'online' mode.

    In this scenario we need to create an Engine
    and associate a connection with the context.

    """
    engine = get_session_maker().bind
    connection = engine.connect()
    context.configure(connection=connection,
                      target_metadata=get_metadata())
コード例 #11
0
ファイル: env.py プロジェクト: assembl/assembl
from assembl.lib.config import set_config
from assembl.indexing.changes import configure_indexing
from assembl.lib.migration import bootstrap_db_data

# this is the Alembic Config object, which provides
# access to the values within the .ini file in use.
config = context.config

# Interpret the config file for Python logging.
# This line sets up loggers basically.
fileConfig(config.config_file_name)
_config = config.file_config._sections['app:assembl']
_config['in_migration'] = True
set_config(_config)
pyramid_env = bootstrap(config.config_file_name)
configure_zmq(pyramid_env['registry'].settings['changes_socket'], False)
configure_engine(pyramid_env['registry'].settings, False)
configure_indexing()


def run_migrations_online():
    """Run migrations in 'online' mode.

    In this scenario we need to create an Engine
    and associate a connection with the context.

    """
    session_maker = get_session_maker()
    engine = session_maker.bind
    connection = engine.connect()
    context.configure(connection=connection,
コード例 #12
0
ファイル: rebuild_tables.py プロジェクト: mydigilife/assembl
        "--delete_missing",
        action="store_true",
        default=False,
        help="Delete rows with missing corresponding values. (otherwise abort rebuild.)",
    )
    parser.add_argument(
        "--reset_extract_discussion",
        action="store_true",
        default=False,
        help="Special case: rebuild a dependent foreign key on extract table",
    )
    args = parser.parse_args()
    settings = get_appsettings(args.configuration, "assembl")
    set_config(settings)
    logging.config.fileConfig(args.configuration)
    configure_zmq(settings["changes.socket"], False)
    configure_engine(settings, True)
    session = get_session_maker()()
    import assembl.models

    try:
        if args.reset_extract_discussion and session.query(assembl.models.Extract).filter_by(discussion_id=-1).count():
            session.execute(
                """UPDATE "extract" SET discussion_id = (
                SELECT content.discussion_id FROM content
                    JOIN idea_content_link on (content_id=content.id)
                    JOIN "extract" on ("extract".id = idea_content_link.id)
                    WHERE "extract".discussion_id=-1)"""
            )
        if args.rebuild_all_tables:
            rebuild_all_tables(session, args.delete_missing)