Addition pipeline_name in Contribution Package

This commit is contained in:
Inga Kirschnick
2022-11-14 15:02:41 +01:00
parent 6164c3e7d9
commit df5ae19e68
4 changed files with 31 additions and 5 deletions

View File

@ -58,6 +58,18 @@ class EditForm(CreateContributionBaseForm):
self.version.data = model_file.version
self.shared.data = model_file.shared
class EditTesseractOCRModelForm(EditForm):
pass
class EditSpaCyNLPPipelineModelForm(EditForm):
pipeline_name = StringField(
'Pipeline name',
validators=[InputRequired(), Length(max=64)]
)
def prefill(self, model_file):
super().prefill(model_file)
self.pipeline_name.data = model_file.pipeline_name
class TesseractOCRModelContributionForm(CreateContributionBaseForm):
tesseract_model_file = FileField(
'File',
@ -88,6 +100,10 @@ class SpacyNLPModelContributionForm(CreateContributionBaseForm):
compatible_service_versions = SelectMultipleField(
'Compatible service versions'
)
pipeline_name = StringField(
'Pipeline name',
validators=[InputRequired(), Length(max=64)]
)
def validate_spacy_model_file(self, field):
current_app.logger.warning(field.data.filename)
if not field.data.filename.lower().endswith('.tar.gz'):

View File

@ -5,7 +5,7 @@ from app import db
from app.decorators import admin_required, permission_required
from app.models import Permission, SpaCyNLPPipelineModel, TesseractOCRPipelineModel
from . import bp
from .forms import TesseractOCRModelContributionForm, EditForm, SpacyNLPModelContributionForm
from .forms import TesseractOCRModelContributionForm, EditSpaCyNLPPipelineModelForm, EditTesseractOCRModelForm, SpacyNLPModelContributionForm
@bp.before_request
@ -39,7 +39,7 @@ def tesseract_ocr_pipeline_model(tesseract_ocr_pipeline_model_id):
tesseract_ocr_pipeline_model = TesseractOCRPipelineModel.query.get_or_404(
tesseract_ocr_pipeline_model_id
)
form = EditForm(prefix='tesseract-ocr-model-edit-form')
form = EditTesseractOCRModelForm(prefix='tesseract-ocr-model-edit-form')
if form.validate_on_submit():
if tesseract_ocr_pipeline_model.title != form.title.data:
tesseract_ocr_pipeline_model.title = form.title.data
@ -134,12 +134,14 @@ def spacy_nlp_pipeline_model(spacy_nlp_pipeline_model_id):
spacy_nlp_pipeline_model = SpaCyNLPPipelineModel.query.get_or_404(
spacy_nlp_pipeline_model_id
)
form = EditForm(prefix='spacy-nlp-model-edit-form')
form = EditSpaCyNLPPipelineModelForm(prefix='spacy-nlp-model-edit-form')
if form.validate_on_submit():
if spacy_nlp_pipeline_model.title != form.title.data:
spacy_nlp_pipeline_model.title = form.title.data
if spacy_nlp_pipeline_model.description != form.description.data:
spacy_nlp_pipeline_model.description = form.description.data
if spacy_nlp_pipeline_model.pipeline_name != form.pipeline_name.data:
spacy_nlp_pipeline_model.pipeline_name = form.pipeline_name.data
if spacy_nlp_pipeline_model.publisher != form.publisher.data:
spacy_nlp_pipeline_model.publisher = form.publisher.data
if spacy_nlp_pipeline_model.publishing_year != form.publishing_year.data:
@ -156,6 +158,7 @@ def spacy_nlp_pipeline_model(spacy_nlp_pipeline_model_id):
message = Markup(f'Model "<a href="contribute/{spacy_nlp_pipeline_model.hashid}">{spacy_nlp_pipeline_model.title}</a>" updated')
flash(message, category='corpus')
return {}, 201, {'Location': url_for('contributions.contributions')}
print(spacy_nlp_pipeline_model.to_json())
form.prefill(spacy_nlp_pipeline_model)
return render_template(
'contributions/spacy_nlp_pipeline_model.html.j2',
@ -195,6 +198,7 @@ def add_spacy_nlp_pipeline_model():
form.spacy_model_file.data,
compatible_service_versions=form.compatible_service_versions.data,
description=form.description.data,
pipeline_name=form.pipeline_name.data,
publisher=form.publisher.data,
publisher_url=form.publisher_url.data,
publishing_url=form.publishing_url.data,