zmiany w endpoincie /uploads/
This commit is contained in:
57
app.py
57
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
|
||||
|
Reference in New Issue
Block a user