mirror of
https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
synced 2024-12-25 02:44:18 +00:00
62 lines
1.6 KiB
Python
62 lines
1.6 KiB
Python
# First things first: apply monkey patch, so that no code gets executed without
|
|
# patched libraries!
|
|
import eventlet
|
|
eventlet.monkey_patch()
|
|
|
|
|
|
from flask import Flask # noqa
|
|
from typing import Any, Dict # noqa
|
|
from app import create_app, db, scheduler, socketio # noqa
|
|
from app import models # noqa
|
|
# from app.models import (
|
|
# Avatar,
|
|
# Corpus,
|
|
# CorpusFile,
|
|
# CorpusFollowerAssociation,
|
|
# CorpusFollowerRole,
|
|
# Job,
|
|
# JobInput,
|
|
# JobResult,
|
|
# Role,
|
|
# TesseractOCRPipelineModel,
|
|
# SpaCyNLPPipelineModel,
|
|
# User
|
|
# ) # noqa
|
|
|
|
|
|
app: Flask = create_app()
|
|
|
|
|
|
@app.shell_context_processor
|
|
def make_shell_context() -> Dict[str, Any]:
|
|
''' Adds variables to the shell context. '''
|
|
return {
|
|
'db': db,
|
|
'Avatar': models.Avatar,
|
|
'Corpus': models.Corpus,
|
|
'CorpusFile': models.CorpusFile,
|
|
'CorpusFollowerAssociation': models.CorpusFollowerAssociation,
|
|
'CorpusFollowerRole': models.CorpusFollowerRole,
|
|
'Job': models.Job,
|
|
'JobInput': models.JobInput,
|
|
'JobResult': models.JobResult,
|
|
'Role': models.Role,
|
|
'TesseractOCRPipelineModel': models.TesseractOCRPipelineModel,
|
|
'SpaCyNLPPipelineModel': models.SpaCyNLPPipelineModel,
|
|
'User': models.User
|
|
}
|
|
|
|
|
|
def main():
|
|
with app.app_context():
|
|
if app.config['NOPAQUE_IS_PRIMARY_INSTANCE']:
|
|
for corpus in models.Corpus.query.filter(models.Corpus.num_analysis_sessions > 0).all():
|
|
corpus.num_analysis_sessions = 0
|
|
db.session.commit()
|
|
scheduler.start()
|
|
socketio.run(app, host='0.0.0.0')
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|