import os from flask import ( Flask, render_template, request, jsonify, redirect, url_for, current_app, send_file, ) from flask_caching import Cache from toloka2MediaServer.main_logic import ( add_release_by_url, update_release_by_name, update_releases, search_torrents, get_torrent as get_torrent_external, add_torrent as add_torrent_external, ) from app.services.torrents import initiate_config, serialize_operation_result # from .api import api_bp from .client import client_bp from .api import * from .db import db # App app = Flask(__name__, static_folder="../frontend/dist/assets") app.register_blueprint(client_bp) app.register_blueprint(api_bp) # Cache cache = Cache(config={"CACHE_TYPE": "SimpleCache"}) cache.init_app(app) # Database app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///t2w.db" db.init_app(app) with app.app_context(): db.create_all() # Production route from .config import Config app.logger.info(">>> {}".format(Config.FLASK_ENV)) @app.route("/") def index_client(): dist_dir = current_app.config["DIST_DIR"] entry = os.path.join(dist_dir, "index.html") return send_file(entry)