Restructure: site/ with modular code, matching Nubes Flask convention

This commit is contained in:
2026-07-23 10:48:14 +04:00
parent 51e4d7a4f6
commit 420d09e6b5
17 changed files with 21 additions and 39 deletions
-4
View File
@@ -1,4 +0,0 @@
"""Точка входа для gunicorn — app:app."""
from app import create_app
app = create_app()
-14
View File
@@ -1,14 +0,0 @@
"""Flask-приложение — фабрика."""
from flask import Flask
import config
def create_app() -> Flask:
app = Flask(__name__, static_folder="static", template_folder="templates")
app.config.from_object(config)
from app.routes.main import bp as main_bp
app.register_blueprint(main_bp)
return app
-11
View File
@@ -1,11 +0,0 @@
"""Конфигурация приложения — всё из переменных окружения."""
import os
# API облака
NUBES_API_ENDPOINT = os.getenv("NUBES_API_ENDPOINT", "https://lk-api-gateway-dev.ngcloud.ru/api/v1/svc")
NUBES_API_TOKEN = os.getenv("NUBES_API_TOKEN", "")
# Flask
SECRET_KEY = os.getenv("SECRET_KEY", "dev-secret-change-in-production")
DEBUG = os.getenv("DEBUG", "false").lower() == "true"
-7
View File
@@ -1,7 +0,0 @@
"""Точка входа."""
from app import create_app
app = create_app()
if __name__ == "__main__":
app.run(host="0.0.0.0", port=5000)
+18
View File
@@ -0,0 +1,18 @@
"""Точка входа — запускается как python site/app.py."""
import os
import sys
# site/ не может быть пакетом (конфликт с stdlib site.py)
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
from flask import Flask
from routes.main import bp as main_bp
NUBES_API_ENDPOINT = os.getenv("NUBES_API_ENDPOINT", "https://lk-api-gateway-dev.ngcloud.ru/api/v1/svc")
NUBES_API_TOKEN = os.getenv("NUBES_API_TOKEN", "")
app = Flask(__name__)
app.config["NUBES_API_ENDPOINT"] = NUBES_API_ENDPOINT
app.config["NUBES_API_TOKEN"] = NUBES_API_TOKEN
app.register_blueprint(main_bp)
@@ -1,6 +1,6 @@
"""GET /instances — получить список инстансов пользователя.""" """GET /instances — получить список инстансов пользователя."""
from app.api.http_client import HttpClient from api.http_client import HttpClient
def get_instances(client: HttpClient) -> list[dict]: def get_instances(client: HttpClient) -> list[dict]:
View File
+2 -2
View File
@@ -2,8 +2,8 @@
from flask import Blueprint, current_app, render_template from flask import Blueprint, current_app, render_template
from app.api.http_client import HttpClient from api.http_client import HttpClient
from app.operations.get_instances import get_organization from operations.get_instances import get_organization
bp = Blueprint("main", __name__) bp = Blueprint("main", __name__)

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB