import os import shutil from flask import Flask, logging from flask_cors import CORS from flask_restful import Api from config import FLASK_HOST, FLASK_PORT, PROJECT_LOGS_FOLDER from routes.deploys import DeployApi from routes.files import FileApi from routes.nodes import NodeApi from routes.spiders import SpiderApi, SpiderImportApi from routes.stats import StatsApi from routes.tasks import TaskApi # flask app instance app = Flask(__name__) app.config.from_object('config') # init flask api instance api = Api(app) # cors support CORS(app, supports_credentials=True) # reference api routes api.add_resource(NodeApi, '/api/nodes', '/api/nodes/', '/api/nodes//') api.add_resource(SpiderImportApi, '/api/spiders/import/') api.add_resource(SpiderApi, '/api/spiders', '/api/spiders/', '/api/spiders//') api.add_resource(DeployApi, '/api/deploys', '/api/deploys/', '/api/deploys//') api.add_resource(TaskApi, '/api/tasks', '/api/tasks/', '/api/tasks//' ) api.add_resource(FileApi, '/api/files', '/api/files/') api.add_resource(StatsApi, '/api/stats', '/api/stats/') # create folder if it does not exist if not os.path.exists(PROJECT_LOGS_FOLDER): os.makedirs(PROJECT_LOGS_FOLDER) if __name__ == '__main__': app.run(host=FLASK_HOST, port=FLASK_PORT)