From a7c2e6dc56ebded3a610aa2904b3b018f7e8ddb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Gruszczy=C5=84ski?= Date: Thu, 28 Aug 2025 14:27:49 +0200 Subject: [PATCH] zmiany w endpoincie /uploads/ --- app.py | 57 +-------------------------------------------------------- 1 file changed, 1 insertion(+), 56 deletions(-) diff --git a/app.py b/app.py index 51b23cb..940f43c 100644 --- a/app.py +++ b/app.py @@ -2023,62 +2023,6 @@ def suggest_products(): return {"suggestions": [s.name for s in suggestions]} -""" @app.route("/all_products") -def all_products(): - sort = request.args.get("sort", "popularity") - limit = request.args.get("limit", type=int) or 100 - offset = request.args.get("offset", type=int) or 0 - - ItemAlias = aliased(Item) - SuggestedAlias = aliased(SuggestedProduct) - - base_query = ( - db.session.query( - func.lower(func.trim(ItemAlias.name)).label("normalized_name"), - func.count(func.distinct(ItemAlias.list_id)).label("count"), - func.min(ItemAlias.name).label("original_name"), - ) - .join( - SuggestedAlias, - func.lower(func.trim(ItemAlias.name)) - == func.lower(func.trim(SuggestedAlias.name)), - ) - .group_by("normalized_name") - ) - - if sort == "popularity": - base_query = base_query.order_by( - func.count(func.distinct(ItemAlias.list_id)).desc(), "normalized_name" - ) - else: - base_query = base_query.order_by("normalized_name") - - results = base_query.offset(offset).limit(limit).all() - total_count = ( - db.session.query(func.count()).select_from(base_query.subquery()).scalar() - ) - - products = [{"name": row.original_name, "count": row.count} for row in results] - used_names = set(row.original_name.strip().lower() for row in results) - extra_suggestions = ( - db.session.query(SuggestedProduct.name) - .filter(~func.lower(func.trim(SuggestedProduct.name)).in_(used_names)) - .all() - ) - suggested_fallbacks = [ - {"name": row.name.strip(), "count": 0} for row in extra_suggestions - ] - - if not products: - products = suggested_fallbacks - if sort == "alphabetical": - products.sort(key=lambda x: x["name"].lower()) - - return jsonify( - {"products": products, "total_count": (total_count if products else len(products))} - ) """ - - @app.route("/all_products") def all_products(): sort = request.args.get("sort", "popularity") @@ -2198,6 +2142,7 @@ def uploaded_file(filename): response.headers["Cache-Control"] = app.config["UPLOADS_CACHE_CONTROL"] response.headers.pop("Pragma", None) response.headers.pop("Content-Disposition", None) + response.headers["Vary"] = "Accept-Encoding" mime, _ = mimetypes.guess_type(filename) if mime: response.headers["Content-Type"] = mime