diff --git a/app/__init__.py b/app/__init__.py index 7080fdbcb5dca8c04748f8e176608a76c750b11b..f530b4d5a2113ead561292d6b20ebf5009d1780c 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -1,3 +1,4 @@ +from apscheduler.schedulers.background import BackgroundScheduler from config import config from flask import Flask from flask_login import LoginManager @@ -6,11 +7,14 @@ from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy() -mail = Mail() login_manager = LoginManager() login_manager.login_view = 'auth.login' +mail = Mail() + +background_scheduler = BackgroundScheduler() + def create_app(config_name): app = Flask(__name__) @@ -27,4 +31,9 @@ def create_app(config_name): from .main import main as main_blueprint app.register_blueprint(main_blueprint) + from .scheduler import scheduler as scheduler_blueprint + app.register_blueprint(scheduler_blueprint, url_prefix='/scheduler') + + background_scheduler.start() + return app diff --git a/app/scheduler/__init__.py b/app/scheduler/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..447f8f5ef668b8d6e2e0de88f562a0714b0ea4e7 --- /dev/null +++ b/app/scheduler/__init__.py @@ -0,0 +1,5 @@ +from flask import Blueprint + +scheduler = Blueprint('scheduler', __name__) + +from . import views diff --git a/app/scheduler/forms.py b/app/scheduler/forms.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/app/scheduler/views.py b/app/scheduler/views.py new file mode 100644 index 0000000000000000000000000000000000000000..6ec0f011720f1b3dbbd3a14d41524b6421ee4a4c --- /dev/null +++ b/app/scheduler/views.py @@ -0,0 +1,21 @@ +from flask import render_template +from . import scheduler +from flask_login import current_user, login_required +from .. import background_scheduler +import json + + +@scheduler.route('/') +@login_required +def scheduler(): + job = { + 'creator': current_user.id, + 'files': ['file_1', 'file_2', 'file_3'], + 'service': 'ocr', + 'args': { + 'lang': 'deu' + } + } + job = background_scheduler.add_job(print, trigger='date', args=[job]) + print(job) + return render_template('scheduler/index.html.j2', title='Scheduler') diff --git a/app/templates/base.html.j2 b/app/templates/base.html.j2 index ab0260e458ba0c4f9296e641e212dd30811a4b64..469eb8197cee3453906c5c982a500ac23c47ce03 100644 --- a/app/templates/base.html.j2 +++ b/app/templates/base.html.j2 @@ -41,25 +41,21 @@ <li> <div class="user-view"> <div class="background" style="background-color: #ee6e73;"></div> - <a href="#user"><img class="circle" src="{{ url_for('static', filename='images/account_circle.png') }}"></a> - <a href="#name"> - <span class="white-text name"> - {% if current_user.is_authenticated %} - {{ current_user.username }} - {% else %} - Unknown - {% endif %} - </span> - </a> - <a href="#email"> - <span class="white-text email"> - {% if current_user.is_authenticated %} - {{ current_user.email }} - {% else %} - Unknown - {% endif %} - </span> - </a> + <img class="circle" src="{{ url_for('static', filename='images/account_circle.png') }}"> + <span class="white-text name"> + {% if current_user.is_authenticated %} + {{ current_user.username }} + {% else %} + Unknown + {% endif %} + </span> + <span class="white-text email"> + {% if current_user.is_authenticated %} + {{ current_user.email }} + {% else %} + Unknown + {% endif %} + </span> </div> </li> <li><a href="{{ url_for('main.index') }}"><i class="material-icons">opacity</i>Opaque</a></li> diff --git a/app/templates/scheduler/index.html.j2 b/app/templates/scheduler/index.html.j2 new file mode 100644 index 0000000000000000000000000000000000000000..8461d298cd166eed38fc5e8377d3fcf606a46381 --- /dev/null +++ b/app/templates/scheduler/index.html.j2 @@ -0,0 +1,7 @@ +{% extends "base.html.j2" %} + +{% block page_content %} +<div class="col s12"> + +</div> +{% endblock %} diff --git a/requirements.txt b/requirements.txt index 46875f4ba332c131327f927ec41272dd2a633c89..18b0f129f82557bd06338f7d2af230d52db1f2fa 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,4 @@ +APScheduler==3.6.0 Flask==1.0.3 Flask-Login==0.4.1 Flask-Mail==0.9.1