mirror of
https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
synced 2024-12-27 03:44:19 +00:00
46 lines
1.3 KiB
Python
46 lines
1.3 KiB
Python
|
from flask import current_app
|
||
|
from flask_migrate import upgrade
|
||
|
import os
|
||
|
from app.models import (
|
||
|
CorpusFollowerRole,
|
||
|
Role,
|
||
|
SpaCyNLPPipelineModel,
|
||
|
TesseractOCRPipelineModel,
|
||
|
User
|
||
|
)
|
||
|
from . import bp
|
||
|
|
||
|
|
||
|
@bp.cli.command('deploy')
|
||
|
def deploy():
|
||
|
''' Run deployment tasks. '''
|
||
|
# Make default directories
|
||
|
print('Make default directories')
|
||
|
base_dir = current_app.config['NOPAQUE_DATA_DIR']
|
||
|
default_dirs = [
|
||
|
os.path.join(base_dir, 'tmp'),
|
||
|
os.path.join(base_dir, 'users')
|
||
|
]
|
||
|
for dir in default_dirs:
|
||
|
if os.path.exists(dir):
|
||
|
if not os.path.isdir(dir):
|
||
|
raise NotADirectoryError(f'{dir} is not a directory')
|
||
|
else:
|
||
|
os.mkdir(dir)
|
||
|
|
||
|
# migrate database to latest revision
|
||
|
print('Migrate database to latest revision')
|
||
|
upgrade()
|
||
|
|
||
|
# Insert/Update default database values
|
||
|
print('Insert/Update default Roles')
|
||
|
Role.insert_defaults()
|
||
|
print('Insert/Update default Users')
|
||
|
User.insert_defaults()
|
||
|
print('Insert/Update default CorpusFollowerRoles')
|
||
|
CorpusFollowerRole.insert_defaults()
|
||
|
print('Insert/Update default SpaCyNLPPipelineModels')
|
||
|
SpaCyNLPPipelineModel.insert_defaults()
|
||
|
print('Insert/Update default TesseractOCRPipelineModels')
|
||
|
TesseractOCRPipelineModel.insert_defaults()
|