mirror of
https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
synced 2025-06-12 00:50:40 +00:00
Remove the TranskribusHTRPipelineModel and fetch data on request.
This commit is contained in:
@ -10,11 +10,7 @@ from wtforms import (
|
||||
ValidationError
|
||||
)
|
||||
from wtforms.validators import InputRequired, Length
|
||||
from app.models import (
|
||||
TRANSKRIBUS_HTR_MODELS,
|
||||
TesseractOCRPipelineModel,
|
||||
TranskribusHTRPipelineModel
|
||||
)
|
||||
from app.models import TesseractOCRPipelineModel
|
||||
from . import SERVICES
|
||||
|
||||
|
||||
@ -107,6 +103,7 @@ class CreateTranskribusHTRPipelineJobForm(CreateJobBaseForm):
|
||||
raise ValidationError('PDF files only!')
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
transkribus_htr_pipeline_models = kwargs.pop('transkribus_htr_pipeline_models', [])
|
||||
service_manifest = SERVICES['transkribus-htr-pipeline']
|
||||
version = kwargs.pop('version', service_manifest['latest_version'])
|
||||
super().__init__(*args, **kwargs)
|
||||
@ -118,12 +115,8 @@ class CreateTranskribusHTRPipelineJobForm(CreateJobBaseForm):
|
||||
if 'binarization' in service_info['methods']:
|
||||
if 'disabled' in self.binarization.render_kw:
|
||||
del self.binarization.render_kw['disabled']
|
||||
models = [
|
||||
x for x in TranskribusHTRPipelineModel.query.filter().all()
|
||||
if x.shared == True or x.user == current_user
|
||||
]
|
||||
self.model.choices = [('', 'Choose your option')]
|
||||
self.model.choices += [(x.hashid, [y['name'] for y in TRANSKRIBUS_HTR_MODELS if y['modelId'] == x.transkribus_model_id ][0]) for x in models]
|
||||
self.model.choices += [(x['modelId'], x['name']) for x in transkribus_htr_pipeline_models]
|
||||
self.model.default = ''
|
||||
self.version.choices = [(x, x) for x in service_manifest['versions']]
|
||||
self.version.data = version
|
||||
|
@ -1,13 +1,12 @@
|
||||
from flask import abort, current_app, flash, Markup, render_template, request
|
||||
from flask import abort, current_app, flash, make_response, Markup, render_template, request
|
||||
from flask_login import current_user, login_required
|
||||
import requests
|
||||
from app import db, hashids
|
||||
from app.models import (
|
||||
Job,
|
||||
JobInput,
|
||||
JobStatus,
|
||||
TesseractOCRPipelineModel,
|
||||
TRANSKRIBUS_HTR_MODELS,
|
||||
TranskribusHTRPipelineModel
|
||||
TesseractOCRPipelineModel
|
||||
)
|
||||
from . import bp, SERVICES
|
||||
from .forms import (
|
||||
@ -117,7 +116,18 @@ def transkribus_htr_pipeline():
|
||||
version = request.args.get('version', service_manifest['latest_version'])
|
||||
if version not in service_manifest['versions']:
|
||||
abort(404)
|
||||
form = CreateTranskribusHTRPipelineJobForm(prefix='create-job-form', version=version)
|
||||
r = requests.get(
|
||||
'https://transkribus.eu/TrpServer/rest/models/text',
|
||||
headers={'Accept': 'application/json'}
|
||||
)
|
||||
if r.status_code != 200:
|
||||
abort(500)
|
||||
transkribus_htr_pipeline_models = r.json()['trpModelMetadata']
|
||||
form = CreateTranskribusHTRPipelineJobForm(
|
||||
transkribus_htr_pipeline_models=transkribus_htr_pipeline_models,
|
||||
prefix='create-job-form',
|
||||
version=version
|
||||
)
|
||||
if form.is_submitted():
|
||||
if not form.validate():
|
||||
response = {'errors': form.errors}
|
||||
@ -129,7 +139,7 @@ def transkribus_htr_pipeline():
|
||||
service=service,
|
||||
service_args={
|
||||
'binarization': form.binarization.data,
|
||||
'model': hashids.decode(form.model.data)
|
||||
'model': form.model.data
|
||||
},
|
||||
service_version=form.version.data,
|
||||
user=current_user
|
||||
@ -145,15 +155,10 @@ def transkribus_htr_pipeline():
|
||||
message = Markup(f'Job "<a href="{job.url}">{job.title}</a>" created')
|
||||
flash(message, 'job')
|
||||
return {}, 201, {'Location': job.url}
|
||||
transkribus_htr_pipeline_models = [
|
||||
x for x in TranskribusHTRPipelineModel.query.all()
|
||||
if x.shared == True or x.user == current_user
|
||||
]
|
||||
return render_template(
|
||||
'services/transkribus_htr_pipeline.html.j2',
|
||||
form=form,
|
||||
title=service_manifest['name'],
|
||||
TRANSKRIBUS_HTR_MODELS=TRANSKRIBUS_HTR_MODELS,
|
||||
transkribus_htr_pipeline_models=transkribus_htr_pipeline_models
|
||||
)
|
||||
|
||||
|
Reference in New Issue
Block a user