diff --git a/CorpusAnalysisClient.js.md b/CorpusAnalysisClient.js.md deleted file mode 100644 index 6f19fc6ecf8ecf9929243df973bf64d515645438..0000000000000000000000000000000000000000 --- a/CorpusAnalysisClient.js.md +++ /dev/null @@ -1,50 +0,0 @@ -# Corpus Analysis - -## Start einer Session - -```javascript -nopaque.socket.emit("corpus_analysis_init", <corpusId>); - <corpusId> ~ number -// Show init loading modal - -nopaque.socket.on("corpus_analysis_init", <response>); - <response> ~ {"code": <code>, "msg": <message>} - <code> ~ number // HTTP status code - <msg> ~ string -// Hide init loading modal -``` - -## Ausführen einer Suchanfrage - -Ergebnisse werden Stückchenweise als "chunks" übertragen. - -```javascript -nopaque.socket.emit("corpus_analysis_query", <query>); - <query> ~ string -// Clear result data store and list -result = {"query": <query>}; -// Hide query result card -// Show query loading card -nopaque.socket.on("corpus_analysis_query", <response>); - <response>: {"code": <code>, "result": <result>} - <code> ~ number // Error, Success - <result> ~ {"matches": [<cpos>, ...], - "num_matches": <num_matches>, - "cpos_lookup": {<cpos>: <token>, ...}, - "text_lookup": {<textId>: <text>, ...}} - <cpos> ~ number - <num_matches> ~ number - <token> ~ {"word": <word>, "lemma": <lemma>, "simple_pos": <simple_pos>, "pos": <pos>, "ner": <ner>, "text": <textId>, "s": <sId>} - <word> ~ string - <lemma> ~ string - <simple_pos> ~ string - <pos> ~ string - <ner> ~ string - <textId> ~ number - <sId> ~ number - <text> ~ {"author": <author>, "title": <text>, ...} - <s> ~ string -// Process response -// Hide query result card -// Show query loading card -``` diff --git a/app/admin/__init__.py b/app/admin/__init__.py index 9bb011f8906e2477d31e9604d6966a3aeb054e6e..40fd29a4240af4ae18bc5dd2afe7d7cb50b4bc68 100644 --- a/app/admin/__init__.py +++ b/app/admin/__init__.py @@ -2,4 +2,4 @@ from flask import Blueprint admin = Blueprint('admin', __name__) -from . import views +from . import views # noqa diff --git a/app/admin/forms.py b/app/admin/forms.py index 0eea3b9498e4e0726412bd637ed0b332e5c28563..fd41d01646e4904b556e610ea54dcb1dc4e03c16 100644 --- a/app/admin/forms.py +++ b/app/admin/forms.py @@ -1,8 +1,8 @@ -from app.models import Role, User from flask_wtf import FlaskForm from wtforms import (BooleanField, SelectField, StringField, SubmitField, ValidationError) from wtforms.validators import DataRequired, Email, Length, Regexp +from ..models import Role, User class EditUserForm(FlaskForm): diff --git a/app/admin/views.py b/app/admin/views.py index 1ab406209e1e15ebbbd8403f397e911157b32ee1..5ca0b74b93ad3b6575d109b3efb7edc0fb5f8be6 100644 --- a/app/admin/views.py +++ b/app/admin/views.py @@ -1,13 +1,13 @@ -from app import db -from app.decorators import admin_required -from app.models import Role, User -from app.profile.background_functions import delete_user_ from flask import current_app, flash, redirect, render_template, url_for from flask_login import login_required from threading import Thread from . import admin from .forms import EditUserForm from .tables import AdminUserItem, AdminUserTable +from .. import db +from ..decorators import admin_required +from ..models import Role, User +from ..profile.background_functions import delete_user_ @admin.route('/') diff --git a/app/auth/__init__.py b/app/auth/__init__.py index a45dc3f349c631dc7f7a93c23ab499c6f091f176..893d7071a820c1574c464201063e6072773ec889 100644 --- a/app/auth/__init__.py +++ b/app/auth/__init__.py @@ -2,4 +2,4 @@ from flask import Blueprint auth = Blueprint('auth', __name__) -from . import views +from . import views # noqa diff --git a/app/auth/forms.py b/app/auth/forms.py index d361ee07cdaa719e18da49f38526566d55818c8d..e3f5c2766915db5f302aa634f8046d0fa29a1b4a 100644 --- a/app/auth/forms.py +++ b/app/auth/forms.py @@ -1,4 +1,4 @@ -from app.models import User +from ..models import User from flask_wtf import FlaskForm from wtforms import (BooleanField, PasswordField, StringField, SubmitField, ValidationError) diff --git a/app/auth/views.py b/app/auth/views.py index e95370ada377abefb934eecfe50464588e808a28..7353ebf95f9bef6ea664f53b3a88282fc00e8c97 100644 --- a/app/auth/views.py +++ b/app/auth/views.py @@ -1,12 +1,12 @@ -from app import db, logger -from app.email import send_email -from app.models import User from flask import (current_app, flash, redirect, render_template, request, url_for) from flask_login import current_user, login_user, login_required, logout_user from . import auth from .forms import (LoginForm, ResetPasswordForm, ResetPasswordRequestForm, RegistrationForm) +from .. import db +from ..email import send_email +from ..models import User import os import shutil diff --git a/app/corpora/__init__.py b/app/corpora/__init__.py index 73084f4688e284412fee617c1c4d346d46070672..cec49443f317e15a6c4a31e5037c779e93172457 100644 --- a/app/corpora/__init__.py +++ b/app/corpora/__init__.py @@ -2,4 +2,4 @@ from flask import Blueprint corpora = Blueprint('corpora', __name__) -from . import events, views +from . import events, views # noqa diff --git a/app/corpora/background_functions.py b/app/corpora/background_functions.py index 442b94244d3826cd8edbc192807bcf01c2588c24..1b8f7fc09cbd7d7430089d00335ed1f2852be19c 100644 --- a/app/corpora/background_functions.py +++ b/app/corpora/background_functions.py @@ -1,4 +1,4 @@ -from app.models import Corpus, CorpusFile +from ..models import Corpus, CorpusFile def delete_corpus_(app, corpus_id): diff --git a/app/corpora/events.py b/app/corpora/events.py index 88af8fb77307bf172106284e6f811471faf4865b..ee7093c00c2146129b2204220a6ad5e99e9b3d94 100644 --- a/app/corpora/events.py +++ b/app/corpora/events.py @@ -1,10 +1,10 @@ -from app import db, logger, socketio -from app.decorators import socketio_login_required -from app.events import connected_sessions -from app.models import Corpus, User -from .cqi import CQiClient from flask import current_app, request from flask_login import current_user +from .cqi import CQiClient +from .. import db, logger, socketio +from ..decorators import socketio_login_required +from ..events import connected_sessions +from ..models import Corpus, User import math diff --git a/app/corpora/views.py b/app/corpora/views.py index 6f4e1ed2a8992e4af3c722a812c441383f65289f..9907cf2373d66149e9329db4a37fc98de5742ca7 100644 --- a/app/corpora/views.py +++ b/app/corpora/views.py @@ -1,5 +1,3 @@ -from app import db, logger -from app.models import Corpus, CorpusFile from flask import (abort, current_app, flash, redirect, request, render_template, url_for, send_from_directory) from flask_login import current_user, login_required @@ -10,6 +8,8 @@ from .background_functions import (delete_corpus_, delete_corpus_file_, edit_corpus_file_) from .forms import (AddCorpusFileForm, AddCorpusForm, EditCorpusFileForm, QueryDownloadForm, QueryForm) +from .. import db +from ..models import Corpus, CorpusFile import os diff --git a/app/decorators.py b/app/decorators.py index c45f6d29a74efbe7922d3712d21151020f0e9904..c218e31458958b98c6986756fe1b21d4b53ba810 100644 --- a/app/decorators.py +++ b/app/decorators.py @@ -1,7 +1,7 @@ -from functools import wraps from flask import abort from flask_login import current_user from flask_socketio import disconnect +from functools import wraps from .models import Permission diff --git a/app/email.py b/app/email.py index a8bde7db455633badc129e1a500efeefeea957b8..670167aedf7bafbd37bd4e8c523adfff84d987f7 100644 --- a/app/email.py +++ b/app/email.py @@ -1,6 +1,6 @@ -from threading import Thread from flask import current_app, render_template from flask_mail import Message +from threading import Thread from . import mail diff --git a/app/jobs/__init__.py b/app/jobs/__init__.py index 07e0e1bb1e3adf5017c263094af528ea88bf92a3..43e346141de0010b0a74582448a84caa3272f400 100644 --- a/app/jobs/__init__.py +++ b/app/jobs/__init__.py @@ -2,4 +2,4 @@ from flask import Blueprint jobs = Blueprint('jobs', __name__) -from . import views +from . import views # noqa diff --git a/app/jobs/background_functions.py b/app/jobs/background_functions.py index f90c2daaa39961c029d636966c8407a845014c5a..6808be497ac05b0e8ed4eb37730b751577512d0d 100644 --- a/app/jobs/background_functions.py +++ b/app/jobs/background_functions.py @@ -1,4 +1,4 @@ -from app.models import Job +from ..models import Job def delete_job_(app, job_id): diff --git a/app/jobs/views.py b/app/jobs/views.py index a5bbe7231d7383aea9d9d5805383fcaf3b8855be..4afd2cb3694edb933646de8e806b11a5d6bc824e 100644 --- a/app/jobs/views.py +++ b/app/jobs/views.py @@ -1,10 +1,10 @@ -from app.models import Job, JobInput, JobResult from flask import (abort, current_app, flash, redirect, render_template, send_from_directory, url_for) from flask_login import current_user, login_required from threading import Thread from . import jobs from .background_functions import delete_job_ +from ..models import Job, JobInput, JobResult import os diff --git a/app/main/__init__.py b/app/main/__init__.py index ed1e65e98f91469a999e040402e734bb93e34746..e58f63b5ef1d2709a2672b8451e726951e054ff3 100644 --- a/app/main/__init__.py +++ b/app/main/__init__.py @@ -2,10 +2,4 @@ from flask import Blueprint main = Blueprint('main', __name__) -from . import errors, views -from app.models import Permission - - -@main.app_context_processor -def inject_permissions(): - return dict(Permission=Permission) +from . import errors, views # noqa diff --git a/app/main/views.py b/app/main/views.py index 1552b99b2499b4d3c163bda0254fcc5cff3ea523..d93a51fbf91018dab48fbde5176c1af15c66bf9f 100644 --- a/app/main/views.py +++ b/app/main/views.py @@ -1,11 +1,10 @@ -from app import logger -from app.auth.forms import LoginForm -from app.models import User from flask import flash, redirect, render_template, url_for from flask_login import login_required, login_user from . import main from .forms import FeedbackForm - +from .. import logger +from ..auth.forms import LoginForm +from ..models import User @main.route('/', methods=['GET', 'POST']) def index(): diff --git a/app/profile/__init__.py b/app/profile/__init__.py index 8283a75f728c6af88d344a77de2252d43610d987..85b9f61cdd705ef41af827f47c015aa5bd817917 100644 --- a/app/profile/__init__.py +++ b/app/profile/__init__.py @@ -2,4 +2,4 @@ from flask import Blueprint profile = Blueprint('profile', __name__) -from . import views +from . import views # noqa diff --git a/app/profile/background_functions.py b/app/profile/background_functions.py index 62be9b6f5172e777480e6805285f0c0c05dadbdf..e8e7f2af49ab8be5b89778680f3ffd7036eb6aa8 100644 --- a/app/profile/background_functions.py +++ b/app/profile/background_functions.py @@ -1,4 +1,4 @@ -from app.models import User +from ..models import User def delete_user_(app, user_id): diff --git a/app/profile/views.py b/app/profile/views.py index be02cc5b00e383ff32489e92d2bf769729ee050a..96f588f0d671242310adf6b75addfc768e84ec50 100644 --- a/app/profile/views.py +++ b/app/profile/views.py @@ -1,10 +1,10 @@ -from app import db from flask import current_app, flash, redirect, render_template, url_for from flask_login import current_user, login_required, logout_user from threading import Thread from . import profile from .background_functions import delete_user_ from .forms import EditEmailForm, EditGeneralSettingsForm, EditPasswordForm +from .. import db @profile.route('/settings', methods=['GET', 'POST']) diff --git a/app/services/__init__.py b/app/services/__init__.py index ea9a403fd809f4b9b382f83843e2fb6c635ae313..0bc0cfb249ef483ee97bd35ea930ce2037c2e4c8 100644 --- a/app/services/__init__.py +++ b/app/services/__init__.py @@ -2,4 +2,4 @@ from flask import Blueprint services = Blueprint('services', __name__) -from . import views +from . import views # noqa diff --git a/app/services/views.py b/app/services/views.py index d8492544fe4b510d9eec2e390c722a96069e7b59..2339260bb3fac74060f2de4612f7a8fb17546dce 100644 --- a/app/services/views.py +++ b/app/services/views.py @@ -1,14 +1,13 @@ -from app import db -from app.jobs.forms import AddNLPJobForm, AddOCRJobForm, AddSetupFilesJobForm -from app.models import Job, JobInput from flask import (abort, current_app, flash, make_response, render_template, url_for) from flask_login import current_user, login_required from werkzeug.utils import secure_filename from . import services +from .. import db +from ..jobs.forms import AddNLPJobForm, AddOCRJobForm, AddSetupFilesJobForm +from ..models import Job, JobInput import json import os -from app import logger SERVICES = {'corpus_analysis': {'name': 'Corpus analysis'}, diff --git a/app/test/__init__.py b/app/test/__init__.py deleted file mode 100644 index e01f868c5e4021a894996e6bad6923eb252e89c0..0000000000000000000000000000000000000000 --- a/app/test/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -from flask import Blueprint - - -test = Blueprint('test', __name__) -from . import events, views diff --git a/app/test/events.py b/app/test/events.py deleted file mode 100644 index c57b57b27f500cf79bbceb55a6fedb26ef7d24cd..0000000000000000000000000000000000000000 --- a/app/test/events.py +++ /dev/null @@ -1,23 +0,0 @@ -from app import logger, socketio -from flask_login import login_required -from werkzeug.datastructures import FileStorage -from werkzeug.utils import secure_filename -from .forms import TestForm -import io - - -@socketio.on('submit-test-form') -@login_required -def recv_test_form(data): - logger.warning("data_received") - filename = secure_filename(data['file-wrapper']['name']) - stream = io.BytesIO(data['file-wrapper']['bytes']) - file = FileStorage(filename=filename, stream=stream) - data['file'] = file - test_form = TestForm(data=data) - if test_form.validate(): - socketio.emit('submit-test-form', {'msg': {}, - 'status': 201}) - else: - socketio.emit('submit-test-form', {'msg': test_form.errors, - 'status': 400}) diff --git a/app/test/forms.py b/app/test/forms.py deleted file mode 100644 index b7dd19d81bed90c6e0a9ef05efabf9d87ca78181..0000000000000000000000000000000000000000 --- a/app/test/forms.py +++ /dev/null @@ -1,12 +0,0 @@ -from flask_wtf import FlaskForm -from flask_wtf.file import FileAllowed, FileField, FileRequired -from wtforms import StringField, SubmitField -from wtforms.validators import DataRequired, Length - - -class TestForm(FlaskForm): - description = StringField('Description', - validators=[DataRequired(), Length(1, 255)]) - file = FileField('File', validators=[FileAllowed(['txt'], 'Plain text only!'), FileRequired()]) - submit = SubmitField() - title = StringField('Title', validators=[DataRequired(), Length(1, 32)]) diff --git a/app/test/views.py b/app/test/views.py deleted file mode 100644 index a0e76fc2e00143e004d2302bfb1f2f869830094c..0000000000000000000000000000000000000000 --- a/app/test/views.py +++ /dev/null @@ -1,12 +0,0 @@ -from flask import render_template -from flask_login import login_required -from . import test -from .forms import TestForm - - -@test.route('/') -@login_required -def index(): - test_form = TestForm() - return render_template('test/index.html.j2', title='Test', - test_form=test_form) diff --git a/nopaque.py b/nopaque.py index ce66e01fac545573f1052857269c390d9d98372e..66c39520720240d5594a70ccc4314ae74ba80f48 100644 --- a/nopaque.py +++ b/nopaque.py @@ -1,5 +1,5 @@ import eventlet -eventlet.monkey_patch() +eventlet.monkey_patch() # noqa: E261 from app import create_app, db, socketio from app.models import Corpus, Job, Role, User from flask_migrate import Migrate diff --git a/tests/test_client.py b/tests/test_client.py index 584d96915609faaaf0dec393928e0c1d53ce2621..e4c0738c4f80e5c558bb62bf78a9ebd501cd4088 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -1,7 +1,5 @@ -import re import unittest from app import create_app, db -from app.models import User, Role class FlaskClientTestCase(unittest.TestCase):