Ejemplo n.º 1
0
def load_fixtures_():
    for fixture_dir in current_app.config.get(
            'FIXTURES_DIRS',
        [os.path.join(current_app.root_path, 'fixtures')]):
        for fixture_file in sorted(glob.glob(fixture_dir + '/*.yml')):
            fixtures = YAMLLoader().load(fixture_file)
            load_fixtures(db, fixtures)
    def run(self):

        db.drop_all()
        # Setup the database
        db.create_all()
        # Rollback any lingering transactions
        db.session.rollback()

        # Construct a list of paths within which fixtures may reside
        default_fixtures_dir = os.path.join(current_app.root_path, 'fixtures')
        # All relative paths should be relative to the app's root directory.
        fixtures_dirs = [default_fixtures_dir]

        # Load all of the fixtures
        for filename in config.FIXTURES_LIST.split(","):
            for directory in fixtures_dirs:
                filepath = os.path.join(directory, filename)
                if not os.path.exists(filepath):
                    continue

                load_fixtures(db, loaders.load(filepath))
                break

            else:
                raise IOError(
                    "Error loading '{0}'. File could not be found".format(
                        filename))
Ejemplo n.º 3
0
 def load_fixtures(self, file_name):
     filepath = self.get_fixture_path(file_name)
     load_fixtures(db, loaders.load(filepath))
     db.session.commit()
     for document in Document.all():
         index_document(document)
     self.update_index()
Ejemplo n.º 4
0
 def load_fixtures(self, file_name):
     filepath = self.get_fixture_path(file_name)
     load_fixtures(db, loaders.load(filepath))
     db.session.commit()
     update_collections()
     for doc in Document.all():
         process_document(doc)
     self.flush_index()
Ejemplo n.º 5
0
Archivo: app.py Proyecto: Denzel4/gpu
def create_db():
    """Creates the db tables."""
    database.db.create_all()
    get_ulm()
    for fixture_file in glob.glob(config.DevelopmentConfig.FIXTURES_DIRS +
                                  '/*.json'):
        fixtures = JSONLoader().load(fixture_file)
        load_fixtures(database.db, fixtures)
        MigrationManager().stamp_db()
Ejemplo n.º 6
0
 def load_fixtures(self, file_name, process_documents=True):
     filepath = self.get_fixture_path(file_name)
     load_fixtures(db, loaders.load(filepath))
     db.session.commit()
     reindex_entities()
     if process_documents:
         for doc in Document.all():
             process_document(doc)
     self.flush_index()
Ejemplo n.º 7
0
 def load_fixtures(self, file_name, process_documents=True):
     filepath = self.get_fixture_path(file_name)
     load_fixtures(db, loaders.load(filepath))
     db.session.commit()
     reindex_entities()
     if process_documents:
         for doc in Document.all():
             analyze_document(doc)
         optimize_search()
Ejemplo n.º 8
0
Archivo: util.py Proyecto: tomjie/aleph
 def load_fixtures(self, file_name, process_documents=True):
     filepath = self.get_fixture_path(file_name)
     load_fixtures(db, loaders.load(filepath))
     db.session.commit()
     reindex_entities()
     if process_documents:
         for doc in Document.all():
             analyze_document(doc)
         optimize_search()
Ejemplo n.º 9
0
def load_fixtures():
    """
    Loads database fixtures
    """
    import glob
    from flask_fixtures.loaders import YAMLLoader
    from flask_fixtures import load_fixtures

    db.drop_all()
    db.create_all()

    for fixture_dir in app.config.get('FIXTURES_DIRS', ['./fixtures/']):
        for fixture_file in glob.glob(fixture_dir + '/*.yml'):
            fixtures = YAMLLoader().load(fixture_file)
            load_fixtures(db, fixtures)
Ejemplo n.º 10
0
def init_database():
    from glob import glob
    from flask_fixtures.loaders import JSONLoader
    from flask_fixtures import load_fixtures

    db.drop_all()
    db.create_all()

    base_dir = abspath(dirname(__file__))

    for fixture_file in glob(join(base_dir, 'fixtures', '*.json')):
        fixtures = JSONLoader().load(fixture_file)
        load_fixtures(db, fixtures)

    yield db
    db.drop_all()
Ejemplo n.º 11
0
    def setUp(self):
        app_settings = os.getenv('APP_SETTINGS',
                                 'bee_api.config.TestingConfig')
        app.config.from_object(app_settings)

        fixture_files = os.path.join(
            os.path.dirname(os.path.realpath(__file__)), '..', 'fixtures',
            '*json')

        with app.app_context():
            db.create_all()
            for fixture_file in glob.glob(fixture_files):
                fixtures = JSONLoader().load(fixture_file)
                load_fixtures(db, fixtures)

        app.testing = True
        self.app = app.test_client()
Ejemplo n.º 12
0
def init_database(request):
    """Initializes the database """
    DB.drop_all()
    DB.create_all()

    base_dir = join(abspath(dirname(__file__)), '..')

    for fixture_file in glob(join(base_dir, 'seed', '*.json')):
        fixtures = JSONLoader().load(fixture_file)
        load_fixtures(DB, fixtures)

    for fixture_file in sorted(glob(join(base_dir, 'seed', 'demo', '*.json'))):
        fixtures = JSONLoader().load(fixture_file)
        load_fixtures(DB, fixtures)

    request.cls.DB = DB

    yield DB

    close_all_sessions()
Ejemplo n.º 13
0
def seed_command(directory, demo):
    """
    Populate database with seed data
        [DIR] - directory location of fixtures files, defaults to 'seed'
        [DEMO] - load demo data, defaults to 'false'
    """
    if not exists(directory):
        print("Directory, {}, doesn't exist ... exiting".format(directory))
        return False

    base_dir = abspath(dirname(__file__))

    print("Seeding Database")
    print(APP.config['SQLALCHEMY_DATABASE_URI'])

    for fixture_file in glob(join(base_dir, directory, '*.json')):
        fixtures = JSONLoader().load(fixture_file)
        try:
            load_fixtures(DB, fixtures)
        except IntegrityError as err:
            # rollback required, so subsequent files may be processed
            DB.session.rollback()
            print('It appears, {}, was already processed'.format(fixture_file))
        print("Processed fixture file: {}".format(fixture_file))

    if demo:
        print("Loading Demo Data")
        for fixture_file in glob(join(base_dir, directory, 'demo', '*.json')):
            fixtures = JSONLoader().load(fixture_file)
            try:
                load_fixtures(DB, fixtures)
            except IntegrityError as err:
                # rollback required, so subsequent files may be processed
                DB.session.rollback()
                print('It appears, {}, was already processed'.format(
                    fixture_file))
            print("Processed fixture file: {}".format(fixture_file))

    return True
Ejemplo n.º 14
0
            from iws_fr.models import db
            db.create_all()

        elif args.command == 'loaddata':
            # Note: The load_fixtures function isn't in flask_fixtures public API.
            from iws_fr.models import db
            import json
            from flask_fixtures import load_fixtures

            fixtures_directory = os.path.join('iws_fr', 'fixtures')
            fixtures = os.listdir(fixtures_directory)
            for fixture in sorted(fixtures):
                fixture_directory = os.path.join(fixtures_directory, fixture)
                with open(fixture_directory) as fixture_file:
                    fixture_data = json.loads(fixture_file.read(),
                                              object_hook=date_deserialize)
                    load_fixtures(db, fixture_data)

        elif args.command == 'runserver':
            # TODO: Update to flask run cmdline.
            # TODO: libsass to compile css?
            # https://stackoverflow.com/questions/9508667/reload-flask-app-when-template-file-changes
            # https://hongminhee.org/libsass-python/
            # http://flask.pocoo.org/docs/0.12/server/
            # https://github.com/arnaudlimbourg/heroku-libsass-python
            # https://codepen.io/adwylie/
            # https://github.com/postcss/autoprefixer
            # cssnano
            import iws_fr.views
            app.run()
Ejemplo n.º 15
0
Archivo: util.py Proyecto: pudo/aleph
 def load_fixtures(self, file_name):
     filepath = self.get_fixture_path(file_name)
     load_fixtures(db, loaders.load(filepath))
     db.session.commit()
     self.update_index()
Ejemplo n.º 16
0
init_db - populate the database with initial data. Make sure to run this
after create_db is run.

drop_db - drop the current database with data

"""

description = """Utility function for running various flask commands."""

if __name__ == '__main__':
    parser = argparse.ArgumentParser(
        description=description, formatter_class=argparse.RawTextHelpFormatter)
    parser.add_argument('command', help=help_string)
    args = parser.parse_args()

    if args.command == 'runserver':
        app.run()
    elif args.command == 'drop_db':
        models.db.drop_all()
    elif args.command == 'create_db':
        models.db.create_all()
    elif args.command == 'init_db':
        # initialize data for the created db
        fixture_dir_path = os.path.join('fr_app', 'fixtures')
        # we know that no dirs are there in the fixtures path, so safe to
        # iterate
        for fixture in os.listdir(fixture_dir_path):
            fixture_path = os.path.join(fixture_dir_path, fixture)
            with open(fixture_path, 'r') as infile:
                load_fixtures(models.db, json.loads(infile.read()))
Ejemplo n.º 17
0
 def load_fixtures(self, file_name):
     filepath = self.get_fixture_path(file_name)
     load_fixtures(db, loaders.load(filepath))
     db.session.commit()
     self.update_index()
Ejemplo n.º 18
0
def _load_fixtures(app, db):
    for fixture in app.config.get('STARTUP_FIXTURES', []):
        load_fixtures(
            db, loaders.load(os.path.join(app.root_path, 'fixtures', fixture)))
Ejemplo n.º 19
0
from app import app, db

import glob
from flask_fixtures.loaders import JSONLoader
from flask_fixtures import load_fixtures

# Destroy
db.drop_all()
# Recreate Structure
db.create_all()

# Import fixture data
for fixture_dir in app.config.get('FIXTURES_DIRS', ['./app/fixtures']):
    for fixture_file in glob.glob(fixture_dir + '/*.json'):
        fixtures = JSONLoader().load(fixture_file)
        load_fixtures(db, fixtures)