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")
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")
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()