mirror of
				https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
				synced 2025-10-31 02:32:45 +00:00 
			
		
		
		
	Move ocr job to extra package.
This commit is contained in:
		
							
								
								
									
										5
									
								
								app/services/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								app/services/__init__.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | ||||
| from flask import Blueprint | ||||
|  | ||||
| services = Blueprint('services', __name__) | ||||
|  | ||||
| from . import views | ||||
							
								
								
									
										6
									
								
								app/services/forms.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								app/services/forms.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| from flask_wtf import FlaskForm | ||||
| from wtforms import SubmitField | ||||
|  | ||||
|  | ||||
| class OCRJobForm(FlaskForm): | ||||
|     submit = SubmitField('Submit') | ||||
							
								
								
									
										43
									
								
								app/services/views.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								app/services/views.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,43 @@ | ||||
| from flask import redirect, render_template, url_for | ||||
| from . import services | ||||
| from flask_login import current_user, login_required | ||||
| from .forms import OCRJobForm | ||||
| from ..import swarm | ||||
| from threading import Thread | ||||
|  | ||||
|  | ||||
| @services.route('/ocr', methods=['GET', 'POST']) | ||||
| @login_required | ||||
| def ocr(): | ||||
|     ocr_job_form = OCRJobForm() | ||||
|     if ocr_job_form.validate_on_submit(): | ||||
|         ''' | ||||
|         ' TODO: Implement a Job class. For now a dictionary representation is | ||||
|         '       enough. | ||||
|         ''' | ||||
|         job = {'worker': None, | ||||
|                'creator': current_user.id, | ||||
|                'id': '5fd40cb0cadef3ab5676c4968fc3d748', | ||||
|                'requested_cpus': 2, | ||||
|                'requested_memory': 2048, | ||||
|                'service': 'ocr', | ||||
|                'service_args': {'lang': 'eng', | ||||
|                                 'version': 'latest' | ||||
|                                 }, | ||||
|                'status': 'queued' | ||||
|                } | ||||
|         ''' | ||||
|         ' TODO: Let the scheduler run this job in the background. | ||||
|         ' | ||||
|         ' NOTE: Using self created threads is just for testing purpose as there | ||||
|         '       is no scheduler available. | ||||
|         ''' | ||||
|         thread = Thread(target=swarm.run, args=(job,)) | ||||
|         thread.start() | ||||
|         return redirect(url_for('services.ocr')) | ||||
|  | ||||
|     return render_template( | ||||
|         'services/ocr.html.j2', | ||||
|         title='Optical Character Recognition', | ||||
|         ocr_job_form=ocr_job_form | ||||
|     ) | ||||
		Reference in New Issue
	
	Block a user