v2.0.13: этап 3 — выбор папок + рекурсивный клиентский ZIP
Deploy contracts-flask / validate (push) Canceled after 0s

- pages_bp: route /upload/<path> отдаёт ES-модули upload/frontend
- index.html: инпут папки (webkitdirectory) + мост listZipFiles
- files.js: expandZipClient (рекурсивный ZIP через drhider listZipFiles)
- app.js: обработчик выбора папки (фильтр .pdf/.doc/.docx/.zip)
This commit is contained in:
“Naeel”
2026-08-26 08:40:19 +03:00
parent c2344f9738
commit d2894ad7c5
5 changed files with 66 additions and 6 deletions
+14 -1
View File
@@ -1,8 +1,15 @@
"""HTML-страницы."""
from flask import Blueprint, render_template
import os
from flask import Blueprint, render_template, send_from_directory
pages_bp = Blueprint("pages", __name__)
# Переиспользуемый модуль upload: отдаём ES-модули фронтенда браузеру (как drhider)
_UPLOAD_FRONTEND = os.path.join(
os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))),
"upload", "frontend",
)
@pages_bp.route("/")
def index():
@@ -12,3 +19,9 @@ def index():
@pages_bp.route("/architect")
def architect():
return render_template("architect.html")
@pages_bp.route("/upload/<path:filename>")
def upload_frontend(filename):
"""Отдать статику ES-модулей upload/frontend (для клиентского ZIP)."""
return send_from_directory(_UPLOAD_FRONTEND, filename)