mirror of
				https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
				synced 2025-11-04 04:12:45 +00:00 
			
		
		
		
	A better application structure
This commit is contained in:
		@@ -2,4 +2,4 @@ from flask import Blueprint
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
bp = Blueprint('main', __name__, cli_group=None)
 | 
			
		||||
from . import routes
 | 
			
		||||
from . import cli, routes
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										45
									
								
								app/main/cli.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								app/main/cli.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,45 @@
 | 
			
		||||
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()
 | 
			
		||||
		Reference in New Issue
	
	Block a user