diff --git a/app/jobs/forms.py b/app/jobs/forms.py index 04b9381c2c9b3dc9f699c2e883cc4d7e9539a7a8..ec530c95f1f53a196f425a18fff24105bc6687d7 100644 --- a/app/jobs/forms.py +++ b/app/jobs/forms.py @@ -65,3 +65,16 @@ class AddOCRJobForm(FlaskForm): 'File does not have an approved extension: ' '.pdf | .tif | .tiff' ) + + +class AddMergeImagesJobForm(FlaskForm): + files = MultipleFileField('Files', validators=[DataRequired()]) + + def validate_files(form, filed): + for file in field.data: + if not file.filename.lower().endswith(('.jpeg', '.jpg', '.png', + '.tiff', '.tif')): + raise ValidationError( + 'File does not have an approved extension: ' + '.jpeg | .jpg | .png | .tiff | .tif' + ) diff --git a/app/services/views.py b/app/services/views.py index 787ebac0a4c3f7dca3e964bed8d5e2f1c34a41d7..bf7cd723445072f022519bea0263042db853a5bf 100644 --- a/app/services/views.py +++ b/app/services/views.py @@ -1,5 +1,5 @@ from app import db -from app.jobs.forms import AddNLPJobForm, AddOCRJobForm +from app.jobs.forms import AddNLPJobForm, AddOCRJobForm, AddMergeImagesJobForm from app.models import Job, JobInput from flask import (abort, current_app, flash, make_response, render_template, url_for) @@ -10,7 +10,10 @@ import json import os -SERVICES = {'nlp': {'name': 'Natural Language Processing', +SERVICES = {'merge_images': {'name': 'Merge Images', + 'resources': {'mem_mb': 4096, 'n_cores': 4}, + 'add_job_form': AddMergeImagesJobForm}, + 'nlp': {'name': 'Natural Language Processing', 'resources': {'mem_mb': 4096, 'n_cores': 2}, 'add_job_form': AddNLPJobForm}, 'ocr': {'name': 'Optical Character Recognition',