nopaque/app/cli.py

43 lines
1.1 KiB
Python
Raw Normal View History

2021-11-16 14:23:57 +00:00
from . import db
from .models import Corpus, Role
from flask_migrate import upgrade
def register(app):
@app.cli.command()
def deploy():
2021-12-07 13:18:05 +00:00
''' Run deployment tasks. '''
# migrate database to latest revision
upgrade()
# create or update user roles
Role.insert_roles()
@app.cli.group()
def daemon():
2021-12-07 13:18:05 +00:00
''' Daemon commands. '''
pass
2021-09-22 12:13:59 +00:00
@daemon.command('run')
2021-09-22 11:58:46 +00:00
def run_daemon():
2021-12-07 13:18:05 +00:00
''' Run daemon '''
corpus: Corpus
2021-11-16 14:23:57 +00:00
for corpus in Corpus.query.filter(Corpus.num_analysis_sessions > 0):
corpus.num_analysis_sessions = 0
db.session.commit()
from app.daemon import Daemon
2021-12-07 13:18:05 +00:00
daemon: Daemon = Daemon()
daemon.run()
@app.cli.group()
def test():
2021-12-07 13:18:05 +00:00
''' Test commands. '''
pass
2021-09-22 12:13:59 +00:00
@test.command('run')
2021-09-22 11:58:46 +00:00
def run_test():
2021-12-07 13:18:05 +00:00
''' Run unit tests. '''
from unittest import TestLoader, TextTestRunner
from unittest.suite import TestSuite
tests: TestSuite = TestLoader().discover('tests')
TextTestRunner(verbosity=2).run(tests)