Skip to content
Snippets Groups Projects
otrs_jobs.py 1.11 KiB
import html

import requests
from flask import Blueprint, request, Response

from inventory_provider.routes import common
from inventory_provider.tasks.ims_worker import OTRSFiles, export_data_for_otrs

routes = Blueprint("otrs", __name__)


@routes.after_request
def after_request(resp):
    return common.after_request(resp)


@routes.route('export')
def send_exports():
    files_value = request.args.get('files', None)
    if files_value:
        try:
            files_value = int(files_value)
        except ValueError:
            return Response(
                response=html.escape('<files> should be an Integer'),
                status=requests.codes.bad_request,
                mimetype="text/html")
        if files_value < 0 or files_value > sum(OTRSFiles):
            return Response(
                response=html.escape(f'Bad value for <files> {files_value}'),
                status=requests.codes.bad_request,
                mimetype="text/html")
    task = export_data_for_otrs.delay(files_value)
    return Response(
        response=task.id,
        status=requests.codes.ok,
        mimetype="text/html")