示例#1
0
文件: api_tool.py 项目: p-charis/4cat
from flask import jsonify, request, render_template, render_template_string, redirect, send_file, url_for, flash, \
	get_flashed_messages
from flask_login import login_required, current_user
from werkzeug.utils import secure_filename

from webtool import app, db, log, openapi, limiter, queue
from webtool.lib.helpers import get_preview, error

from backend.lib.exceptions import QueryParametersException, JobNotFoundException
from backend.lib.queue import JobQueue
from backend.lib.job import Job
from backend.lib.dataset import DataSet
from backend.lib.helpers import UserInput, call_api
from backend.abstract.worker import BasicWorker

api_ratelimit = limiter.shared_limit("3 per second", scope="api")

API_SUCCESS = 200
API_FAIL = 404

csv.field_size_limit(1024 * 1024 * 1024)

@app.route("/api/")
@api_ratelimit
def openapi_overview():
	return jsonify({
		"status": "The following API specifications are available from this server.",
		"data": {
			api_id: "http" + (
				"s" if config.FlaskConfig.SERVER_HTTPS else "") + "://" + config.FlaskConfig.SERVER_NAME + "/api/spec/" + api_id + "/"
			for api_id in openapi.apis
示例#2
0
import csv

import backend

from flask import jsonify, request, send_file, after_this_request
from flask_login import login_required, current_user

from webtool import app, db, log, openapi, limiter
from webtool.lib.helpers import error

from common.lib.exceptions import JobNotFoundException
from common.lib.queue import JobQueue
from common.lib.job import Job
from common.lib.dataset import DataSet

api_ratelimit = limiter.shared_limit("45 per minute", scope="api")

API_SUCCESS = 200
API_FAIL = 404

csv.field_size_limit(1024 * 1024 * 1024)

@app.route("/api/get-standalone-processors/")
@api_ratelimit
@openapi.endpoint("standalone")
def get_standalone_processors():
	"""
	Get processors available for standalone API requests

	:return: A JSON object, a list with processor IDs that may be used for the
	`/api/process/<processor>/` endpoint as keys and a `description` of what