mirror of
				https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
				synced 2025-10-31 02:32:45 +00:00 
			
		
		
		
	Rename ocr job form and add nlp job form
This commit is contained in:
		| @@ -3,7 +3,7 @@ from wtforms import MultipleFileField, SelectField, StringField, SubmitField, Va | ||||
| from wtforms.validators import DataRequired, Length | ||||
|  | ||||
|  | ||||
| class CreateOCRJobForm(FlaskForm): | ||||
| class NewOCRJobForm(FlaskForm): | ||||
|     description = StringField( | ||||
|         'Description', | ||||
|         validators=[DataRequired(), Length(1, 64)] | ||||
| @@ -37,3 +37,36 @@ class CreateOCRJobForm(FlaskForm): | ||||
|                     'File does not have an approved extension: ' | ||||
|                     '.pdf | .tif | .tiff' | ||||
|                 ) | ||||
|  | ||||
|  | ||||
| class NewNLPJobForm(FlaskForm): | ||||
|     description = StringField( | ||||
|         'Description', | ||||
|         validators=[DataRequired(), Length(1, 64)] | ||||
|     ) | ||||
|     files = MultipleFileField('Files', validators=[DataRequired()]) | ||||
|     language = SelectField( | ||||
|         'Language', | ||||
|         choices=[('', 'Choose your option'), | ||||
|                  ('en', 'English'), | ||||
|                  ('fr', 'French'), | ||||
|                  ('de', 'German'), | ||||
|                  ('it', 'Italian'), | ||||
|                  ('pt', 'Portuguese'), | ||||
|                  ('es', 'Spanish') | ||||
|                  ], | ||||
|         validators=[DataRequired()] | ||||
|     ) | ||||
|     submit = SubmitField('Create OCR job') | ||||
|     title = StringField( | ||||
|         'Title', | ||||
|         validators=[DataRequired(), Length(1, 32)] | ||||
|     ) | ||||
|  | ||||
|     def validate_files(form, field): | ||||
|         for file in field.data: | ||||
|             if not file.filename.lower().endswith('.txt'): | ||||
|                 raise ValidationError( | ||||
|                     'File does not have an approved extension: ' | ||||
|                     '.txt' | ||||
|                 ) | ||||
|   | ||||
| @@ -2,7 +2,7 @@ from datetime import datetime | ||||
| from flask import current_app, flash, redirect, render_template, url_for | ||||
| from . import services | ||||
| from flask_login import current_user, login_required | ||||
| from .forms import CreateOCRJobForm | ||||
| from .forms import NewOCRJobForm | ||||
| from ..import swarm | ||||
| from threading import Thread | ||||
| import hashlib | ||||
| @@ -12,8 +12,8 @@ import os | ||||
| @services.route('/ocr', methods=['GET', 'POST']) | ||||
| @login_required | ||||
| def ocr(): | ||||
|     create_ocr_job_form = CreateOCRJobForm() | ||||
|     if create_ocr_job_form.validate_on_submit(): | ||||
|     new_ocr_job_form = NewOCRJobForm() | ||||
|     if new_ocr_job_form.validate_on_submit(): | ||||
|         app = current_app._get_current_object() | ||||
|         id = hashlib.md5( | ||||
|             (current_user.username + '_' + datetime.now().isoformat()).encode() | ||||
| @@ -27,7 +27,7 @@ def ocr(): | ||||
|                'requested_cpus': 2, | ||||
|                'requested_memory': 2048, | ||||
|                'service': 'ocr', | ||||
|                'service_args': {'lang': create_ocr_job_form.language.data, | ||||
|                'service_args': {'lang': new_ocr_job_form.language.data, | ||||
|                                 'version': 'latest' | ||||
|                                 }, | ||||
|                'status': 'queued' | ||||
| @@ -39,7 +39,7 @@ def ocr(): | ||||
|         except OSError: | ||||
|             flash('OSError!') | ||||
|         else: | ||||
|             for file in create_ocr_job_form.files.data: | ||||
|             for file in new_ocr_job_form.files.data: | ||||
|                 file.save(os.path.join(dir, file.filename)) | ||||
|             ''' | ||||
|             ' TODO: Let the scheduler run this job in the background. | ||||
| @@ -55,5 +55,5 @@ def ocr(): | ||||
|     return render_template( | ||||
|         'services/ocr.html.j2', | ||||
|         title='Optical Character Recognition', | ||||
|         create_ocr_job_form=create_ocr_job_form | ||||
|         new_ocr_job_form=new_ocr_job_form | ||||
|     ) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user