コード例 #1
0
ファイル: fixtures.py プロジェクト: Cetids/quokka
def configure(app, db):

    try:
        is_installed = Quokka.objects.get(slug="is_installed")
    except:
        is_installed = False

    if not is_installed:
        app.logger.info("Loading fixtures")
        populate = Populate(
            db,
            filepath=app.config.get('POPULATE_FILEPATH'),
            first_install=True
        )
        try:
            populate.create_configs()
            populate.create_purposes()
            populate.create_channel_types()
            populate.create_base_channels()
            populate.role("admin")
            populate.role("author")
            try:
                with app.app_context():
                    user_data, user_obj = populate.create_initial_superuser()
                    populate.create_initial_post(user_data, user_obj)
            except Exception as e:
                app.logger.warning("Cant create initial user and post: %s" % e)
        except Exception as e:
            app.logger.error("Error loading fixtures, try again - %s" % e)
            populate.reset()
            Config.objects.delete()
        else:
            Quokka.objects.create(slug="is_installed")
コード例 #2
0
ファイル: fixtures.py プロジェクト: zming619/quokka
def configure(app, db):

    try:
        is_installed = Quokka.objects.get(slug="is_installed")
    except:
        is_installed = False

    if not is_installed:
        app.logger.info("Loading fixtures")
        populate = Populate(db,
                            filepath=app.config.get('POPULATE_FILEPATH'),
                            first_install=True)
        try:
            populate.create_configs()
            populate.create_purposes()
            populate.create_channel_types()
            populate.create_base_channels()
            populate.role("admin")
            populate.role("author")
            try:
                with app.app_context():
                    user_data, user_obj = populate.create_initial_superuser()
                    populate.create_initial_post(user_data, user_obj)
            except Exception as e:
                app.logger.warning("Cant create initial user and post: %s" % e)
        except Exception as e:
            app.logger.error("Error loading fixtures, try again - %s" % e)
            populate.reset()
            Config.objects.delete()
        else:
            Quokka.objects.create(slug="is_installed")
コード例 #3
0
def populate(filename, baseurl=None, reset=False):
    """Populate the database with sample data"""
    populator = Populate(db, filepath=filename, baseurl=baseurl, app=app)
    if not reset:
        try:
            populator()
        except RuntimeError:
            with app.test_request_context(
                    base_url=baseurl or 'http://localhost:5000/'):
                populator()
    else:
        populator.reset()