From e03b5258efddef3aae370798a258e24478cae60e Mon Sep 17 00:00:00 2001 From: Patrick Jentsch <p.jentsch@uni-bielefeld.de> Date: Mon, 13 Mar 2023 09:49:59 +0100 Subject: [PATCH] Codestyle enhancements --- .../spacy_nlp_pipeline_models/__init__.py | 2 +- .../spacy_nlp_pipeline_models/json_routes.py | 10 +--- .../spacy_nlp_pipeline_models/routes.py | 55 ++++++++----------- .../tesseract_ocr_pipeline_models/__init__.py | 2 +- .../json_routes.py | 10 +--- .../tesseract_ocr_pipeline_models/routes.py | 45 +++++++-------- app/static/js/Forms/Form.js | 4 +- 7 files changed, 52 insertions(+), 76 deletions(-) diff --git a/app/contributions/spacy_nlp_pipeline_models/__init__.py b/app/contributions/spacy_nlp_pipeline_models/__init__.py index 6b73681a..8ff119d0 100644 --- a/app/contributions/spacy_nlp_pipeline_models/__init__.py +++ b/app/contributions/spacy_nlp_pipeline_models/__init__.py @@ -1,7 +1,7 @@ from flask import Blueprint -TEMPLATE_FOLDER = 'contributions/spacy_nlp_pipeline_models' +template_base_dir = 'contributions/spacy_nlp_pipeline_models' bp = Blueprint('spacy_nlp_pipeline_models', __name__) diff --git a/app/contributions/spacy_nlp_pipeline_models/json_routes.py b/app/contributions/spacy_nlp_pipeline_models/json_routes.py index 9247f85b..f7a9a254 100644 --- a/app/contributions/spacy_nlp_pipeline_models/json_routes.py +++ b/app/contributions/spacy_nlp_pipeline_models/json_routes.py @@ -1,4 +1,4 @@ -from flask import abort, current_app, jsonify, request +from flask import abort, current_app, request from flask_login import login_required, current_user from threading import Thread from app import db @@ -29,9 +29,7 @@ def delete_spacy_model(spacy_nlp_pipeline_model_id): 'message': \ f'SpaCy NLP Pipeline Model "{snpm.title}" marked for deletion' } - response = jsonify(resonse_data) - response.status_code = 202 - return response + return resonse_data, 202 @bp.route('/<hashid:spacy_nlp_pipeline_model_id>/is_public', methods=['PUT']) @@ -53,6 +51,4 @@ def update_spacy_nlp_pipeline_model_is_public(spacy_nlp_pipeline_model_id): f' is now {"public" if is_public else "private"}' ) } - response = jsonify(response_data) - response.status_code = 200 - return response + return response_data, 200 diff --git a/app/contributions/spacy_nlp_pipeline_models/routes.py b/app/contributions/spacy_nlp_pipeline_models/routes.py index 2e416c47..609941fc 100644 --- a/app/contributions/spacy_nlp_pipeline_models/routes.py +++ b/app/contributions/spacy_nlp_pipeline_models/routes.py @@ -1,8 +1,8 @@ -from flask import abort, flash, Markup, redirect, render_template, url_for -from flask_login import login_required, current_user +from flask import abort, flash, redirect, render_template, url_for +from flask_login import current_user, login_required from app import db from app.models import SpaCyNLPPipelineModel -from . import bp, TEMPLATE_FOLDER +from . import bp, template_base_dir from .forms import ( CreateSpaCyNLPPipelineModelForm, EditSpaCyNLPPipelineModelForm @@ -13,21 +13,21 @@ from .forms import ( @login_required def spacy_nlp_pipeline_models(): return render_template( - f'{TEMPLATE_FOLDER}/spacy_nlp_pipeline_models.html.j2', + f'{template_base_dir}/spacy_nlp_pipeline_models.html.j2', title='SpaCy NLP Pipeline Models' ) -@bp.route('/create', methods=['GET', 'POST']) +@bp.route('/create') @login_required def create_spacy_nlp_pipeline_model(): - form = CreateSpaCyNLPPipelineModelForm(prefix='create-spacy-nlp-pipeline-model-form') + form_prefix = 'create-spacy-nlp-pipeline-model-form' + form = CreateSpaCyNLPPipelineModelForm(prefix=form_prefix) if form.is_submitted(): if not form.validate(): - response = {'errors': form.errors} - return response, 400 + return {'errors': form.errors}, 400 try: - spacy_nlp_pipeline_model = SpaCyNLPPipelineModel.create( + snpm = SpaCyNLPPipelineModel.create( form.spacy_model_file.data, compatible_service_versions=form.compatible_service_versions.data, description=form.description.data, @@ -44,18 +44,10 @@ def create_spacy_nlp_pipeline_model(): except OSError: abort(500) db.session.commit() - spacy_nlp_pipeline_model_url = url_for( - '.spacy_nlp_pipeline_model', - spacy_nlp_pipeline_model_id=spacy_nlp_pipeline_model.id - ) - message = Markup( - f'SpaCy NLP Pipeline model "{spacy_nlp_pipeline_model.title}" ' - 'created' - ) - flash(message) - return '', 201, {'Location': spacy_nlp_pipeline_model_url} + flash(f'SpaCy NLP Pipeline model "{snpm.title}" created') + return {}, 201, {'Location': url_for('.spacy_nlp_pipeline_models')} return render_template( - f'{TEMPLATE_FOLDER}/create_spacy_nlp_pipeline_model.html.j2', + f'{template_base_dir}/create_spacy_nlp_pipeline_model.html.j2', form=form, title='Create SpaCy NLP Pipeline Model' ) @@ -64,24 +56,21 @@ def create_spacy_nlp_pipeline_model(): @bp.route('/<hashid:spacy_nlp_pipeline_model_id>', methods=['GET', 'POST']) @login_required def spacy_nlp_pipeline_model(spacy_nlp_pipeline_model_id): - spacy_nlp_pipeline_model = SpaCyNLPPipelineModel.query.get_or_404(spacy_nlp_pipeline_model_id) + snpm = SpaCyNLPPipelineModel.query.get_or_404(spacy_nlp_pipeline_model_id) + form_prefix = 'edit-spacy-nlp-pipeline-model-form' form = EditSpaCyNLPPipelineModelForm( - data=spacy_nlp_pipeline_model.to_json_serializeable(), - prefix='edit-spacy-nlp-pipeline-model-form' + data=snpm.to_json_serializeable(), + prefix=form_prefix ) if form.validate_on_submit(): - form.populate_obj(spacy_nlp_pipeline_model) - if db.session.is_modified(spacy_nlp_pipeline_model): - message = Markup( - f'SpaCy NLP Pipeline model "{spacy_nlp_pipeline_model.title}" ' - 'updated' - ) - flash(message) + form.populate_obj(snpm) + if db.session.is_modified(snpm): + flash(f'SpaCy NLP Pipeline model "{snpm.title}" updated') db.session.commit() return redirect(url_for('.spacy_nlp_pipeline_models')) return render_template( - f'{TEMPLATE_FOLDER}/spacy_nlp_pipeline_model.html.j2', + f'{template_base_dir}/spacy_nlp_pipeline_model.html.j2', form=form, - spacy_nlp_pipeline_model=spacy_nlp_pipeline_model, - title=f'{spacy_nlp_pipeline_model.title} {spacy_nlp_pipeline_model.version}' + spacy_nlp_pipeline_model=snpm, + title=f'{snpm.title} {snpm.version}' ) diff --git a/app/contributions/tesseract_ocr_pipeline_models/__init__.py b/app/contributions/tesseract_ocr_pipeline_models/__init__.py index c60e0915..cf44126d 100644 --- a/app/contributions/tesseract_ocr_pipeline_models/__init__.py +++ b/app/contributions/tesseract_ocr_pipeline_models/__init__.py @@ -1,7 +1,7 @@ from flask import Blueprint -TEMPLATE_FOLDER = 'contributions/tesseract_ocr_pipeline_models' +template_base_dir = 'contributions/tesseract_ocr_pipeline_models' bp = Blueprint('tesseract_ocr_pipeline_models', __name__) diff --git a/app/contributions/tesseract_ocr_pipeline_models/json_routes.py b/app/contributions/tesseract_ocr_pipeline_models/json_routes.py index f4c4ca79..81aa6598 100644 --- a/app/contributions/tesseract_ocr_pipeline_models/json_routes.py +++ b/app/contributions/tesseract_ocr_pipeline_models/json_routes.py @@ -1,4 +1,4 @@ -from flask import abort, current_app, jsonify, request +from flask import abort, current_app, request from flask_login import login_required, current_user from threading import Thread from app import db @@ -29,9 +29,7 @@ def delete_tesseract_model(tesseract_ocr_pipeline_model_id): 'message': \ f'Tesseract OCR Pipeline Model "{topm.title}" marked for deletion' } - response = jsonify(response_data) - response.status_code = 202 - return response + return response_data, 202 @bp.route('/<hashid:tesseract_ocr_pipeline_model_id>/is_public', methods=['PUT']) @@ -53,6 +51,4 @@ def update_tesseract_ocr_pipeline_model_is_public(tesseract_ocr_pipeline_model_i f' is now {"public" if is_public else "private"}' ) } - response = jsonify(response_data) - response.status_code = 200 - return response + return response_data, 200 diff --git a/app/contributions/tesseract_ocr_pipeline_models/routes.py b/app/contributions/tesseract_ocr_pipeline_models/routes.py index 823e54d9..b888cef7 100644 --- a/app/contributions/tesseract_ocr_pipeline_models/routes.py +++ b/app/contributions/tesseract_ocr_pipeline_models/routes.py @@ -1,8 +1,8 @@ -from flask import abort, flash, Markup, redirect, render_template, url_for +from flask import abort, flash, redirect, render_template, url_for from flask_login import login_required, current_user from app import db from app.models import TesseractOCRPipelineModel -from . import bp, TEMPLATE_FOLDER +from . import bp, template_base_dir from .forms import ( CreateTesseractOCRPipelineModelForm, EditTesseractOCRPipelineModelForm @@ -13,7 +13,7 @@ from .forms import ( @login_required def tesseract_ocr_pipeline_models(): return render_template( - f'{TEMPLATE_FOLDER}/tesseract_ocr_pipeline_models.html.j2', + f'{template_base_dir}/tesseract_ocr_pipeline_models.html.j2', title='Tesseract OCR Pipeline Models' ) @@ -21,13 +21,13 @@ def tesseract_ocr_pipeline_models(): @bp.route('/create', methods=['GET', 'POST']) @login_required def create_tesseract_ocr_pipeline_model(): - form = CreateTesseractOCRPipelineModelForm(prefix='create-tesseract-ocr-pipeline-model-form') + form_prefix = 'create-tesseract-ocr-pipeline-model-form' + form = CreateTesseractOCRPipelineModelForm(prefix=form_prefix) if form.is_submitted(): if not form.validate(): - response = {'errors': form.errors} - return response, 400 + return {'errors': form.errors}, 400 try: - tesseract_ocr_pipeline_model = TesseractOCRPipelineModel.create( + topm = TesseractOCRPipelineModel.create( form.tesseract_model_file.data, compatible_service_versions=form.compatible_service_versions.data, description=form.description.data, @@ -43,15 +43,10 @@ def create_tesseract_ocr_pipeline_model(): except OSError: abort(500) db.session.commit() - tesseract_ocr_pipeline_model_url = url_for( - '.tesseract_ocr_pipeline_model', - tesseract_ocr_pipeline_model_id=tesseract_ocr_pipeline_model.id - ) - message = Markup(f'Tesseract OCR Pipeline model "<a href="{tesseract_ocr_pipeline_model_url}">{tesseract_ocr_pipeline_model.title}</a>" created') - flash(message) - return {}, 201, {'Location': tesseract_ocr_pipeline_model_url} + flash(f'Tesseract OCR Pipeline model "{topm.title}" created') + return {}, 201, {'Location': url_for('.tesseract_ocr_pipeline_models')} return render_template( - f'{TEMPLATE_FOLDER}/create_tesseract_ocr_pipeline_model.html.j2', + f'{template_base_dir}/create_tesseract_ocr_pipeline_model.html.j2', form=form, title='Create Tesseract OCR Pipeline Model' ) @@ -60,21 +55,21 @@ def create_tesseract_ocr_pipeline_model(): @bp.route('/<hashid:tesseract_ocr_pipeline_model_id>', methods=['GET', 'POST']) @login_required def tesseract_ocr_pipeline_model(tesseract_ocr_pipeline_model_id): - tesseract_ocr_pipeline_model = TesseractOCRPipelineModel.query.get_or_404(tesseract_ocr_pipeline_model_id) + topm = TesseractOCRPipelineModel.query.get_or_404(tesseract_ocr_pipeline_model_id) + form_prefix = 'edit-tesseract-ocr-pipeline-model-form' form = EditTesseractOCRPipelineModelForm( - data=tesseract_ocr_pipeline_model.to_json_serializeable(), - prefix='edit-tesseract-ocr-pipeline-model-form' + data=topm.to_json_serializeable(), + prefix=form_prefix ) if form.validate_on_submit(): - form.populate_obj(tesseract_ocr_pipeline_model) - if db.session.is_modified(tesseract_ocr_pipeline_model): - message = Markup(f'Tesseract OCR Pipeline model "<a href="{tesseract_ocr_pipeline_model.url}">{tesseract_ocr_pipeline_model.title}</a>" updated') - flash(message) + form.populate_obj(topm) + if db.session.is_modified(topm): + flash(f'Tesseract OCR Pipeline model "{topm.title}" updated') db.session.commit() return redirect(url_for('.tesseract_ocr_pipeline_models')) return render_template( - f'{TEMPLATE_FOLDER}/tesseract_ocr_pipeline_model.html.j2', + f'{template_base_dir}/tesseract_ocr_pipeline_model.html.j2', form=form, - tesseract_ocr_pipeline_model=tesseract_ocr_pipeline_model, - title=f'{tesseract_ocr_pipeline_model.title} {tesseract_ocr_pipeline_model.version}' + tesseract_ocr_pipeline_model=topm, + title=f'{topm.title} {topm.version}' ) diff --git a/app/static/js/Forms/Form.js b/app/static/js/Forms/Form.js index a9604c69..c3496e18 100644 --- a/app/static/js/Forms/Form.js +++ b/app/static/js/Forms/Form.js @@ -92,7 +92,6 @@ class Form { } if (request.status === 400) { let responseJson = JSON.parse(request.responseText); - console.log(responseJson); for (let [inputName, inputErrors] of Object.entries(responseJson.errors)) { let inputFieldElement = this.formElement .querySelector(`input[name$="${inputName}"], select[name$="${inputName}"]`) @@ -122,10 +121,11 @@ class Form { request.setRequestHeader('Accept', 'application/json'); let formData = new FormData(this.formElement); switch (this.formElement.enctype) { - case 'application/x-www-form-urlencoded': + case 'application/x-www-form-urlencoded': { let urlSearchParams = new URLSearchParams(formData); request.send(urlSearchParams); break; + } case 'multipart/form-data': { request.send(formData); break; -- GitLab