Pepguy commited on
Commit
63ca257
·
verified ·
1 Parent(s): 02dd8cb

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -11
app.py CHANGED
@@ -137,7 +137,7 @@ def normalize_wardrobe_item(itm: Dict[str, Any]) -> Dict[str, Any]:
137
  return {}
138
 
139
  # Prefer explicit thumbnail_url, then camelCase thumbnailUrl, then thumbnail, then thumbnailPath
140
- thumb = itm.get("thumbnail_url") or itm.get("thumbnailUrl") or itm.get("thumbnail") or itm.get("thumbnailPath") or None
141
 
142
  title = itm.get("title") or itm.get("label") or (itm.get("analysis") or {}).get("type") or ""
143
  label = itm.get("label") or itm.get("title") or title or ""
@@ -149,7 +149,7 @@ def normalize_wardrobe_item(itm: Dict[str, Any]) -> Dict[str, Any]:
149
  "id": itm.get("id") or itm.get("doc_id") or "",
150
  "label": label,
151
  "title": title,
152
- "thumbnail_url": thumb,
153
  "analysis": itm.get("analysis") or {},
154
  "confidence": float(confidence) if confidence is not None else 0.8,
155
  # keep original payload for debugging if needed
@@ -222,7 +222,7 @@ def naive_generate_candidates(wardrobe_items: List[Dict[str, Any]],
222
  "id": x.get("id"),
223
  "label": x.get("label"),
224
  "title": x.get("title"),
225
- "thumbnail_url": x.get("thumbnail_url"),
226
  "analysis": x.get("analysis", {})
227
  } for x in items
228
  ],
@@ -261,7 +261,7 @@ def generate_candidates_with_gemini(wardrobe_items: List[Dict[str, Any]],
261
  "summary": (a.get("summary") or "")[:180],
262
  "brand": (a.get("brand") or "")[:80],
263
  "tags": a.get("tags") or [],
264
- "thumbnail_url": it.get("thumbnail_url") or ""
265
  })
266
 
267
  prompt = (
@@ -305,7 +305,7 @@ def generate_candidates_with_gemini(wardrobe_items: List[Dict[str, Any]],
305
  for iid in c.get("item_ids", []):
306
  itm = id_map.get(str(iid))
307
  if itm:
308
- items.append({"id": itm.get("id"), "label": itm.get("label"), "title": itm.get("title"), "thumbnail_url": itm.get("thumbnail_url"), "analysis": itm.get("analysis", {})})
309
  out.append({
310
  "id": c.get("id") or str(uuid.uuid4()),
311
  "items": items,
@@ -365,7 +365,7 @@ def refine_candidates_with_constraints(candidates: List[Dict[str, Any]],
365
  "id": it.get("id"),
366
  "label": it.get("label"),
367
  "title": it.get("title"),
368
- "thumbnail_url": it.get("thumbnail_url"),
369
  "analysis": it.get("analysis", {}),
370
  "confidence": it.get("confidence", 0.5),
371
  } for it in resolved
@@ -484,12 +484,12 @@ def fetch_wardrobe_from_firestore(uid: str) -> List[Dict[str, Any]]:
484
  for d in docs:
485
  dd = d.to_dict() or {}
486
  # accept both snake_case and camelCase thumbnail fields
487
- thumb = dd.get("thumbnail_url") or dd.get("thumbnailUrl") or dd.get("thumbnail") or dd.get("thumbnailPath") or None
488
  items.append({
489
  "id": dd.get("id") or d.id,
490
  "label": dd.get("label") or dd.get("title") or "item",
491
  "title": dd.get("title") or dd.get("label") or "",
492
- "thumbnail_url": thumb,
493
  "analysis": dd.get("analysis", {}),
494
  "confidence": dd.get("confidence", 0.8),
495
  })
@@ -506,12 +506,12 @@ def fetch_wardrobe_from_firestore(uid: str) -> List[Dict[str, Any]]:
506
  items = []
507
  for d in docs:
508
  dd = d.to_dict() or {}
509
- thumb = dd.get("thumbnail_url") or dd.get("thumbnailUrl") or dd.get("thumbnail") or dd.get("thumbnailPath") or None
510
  items.append({
511
  "id": dd.get("id") or d.id,
512
  "label": dd.get("label") or dd.get("title") or "item",
513
  "title": dd.get("title") or dd.get("label") or "",
514
- "thumbnail_url": thumb,
515
  "analysis": dd.get("analysis", {}),
516
  "confidence": dd.get("confidence", 0.8),
517
  })
@@ -673,7 +673,7 @@ def suggest_all():
673
  log.warning("Failed to produce final note for candidate %s: %s", cand.get("id"), e)
674
  note = cand.get("notes") or cand.get("reason") or "A curated outfit."
675
 
676
- thumb_urls = [it.get("thumbnail_url") for it in cand.get("items", []) if it.get("thumbnail_url")]
677
 
678
  suggestion = {
679
  "id": cand.get("id") or str(uuid.uuid4()),
 
137
  return {}
138
 
139
  # Prefer explicit thumbnail_url, then camelCase thumbnailUrl, then thumbnail, then thumbnailPath
140
+ thumb = itm.get("thumbnailUrl") # or itm.get("thumbnailUrl") or itm.get("thumbnail") or itm.get("thumbnailPath") or None
141
 
142
  title = itm.get("title") or itm.get("label") or (itm.get("analysis") or {}).get("type") or ""
143
  label = itm.get("label") or itm.get("title") or title or ""
 
149
  "id": itm.get("id") or itm.get("doc_id") or "",
150
  "label": label,
151
  "title": title,
152
+ "thumbnailUrl": thumb,
153
  "analysis": itm.get("analysis") or {},
154
  "confidence": float(confidence) if confidence is not None else 0.8,
155
  # keep original payload for debugging if needed
 
222
  "id": x.get("id"),
223
  "label": x.get("label"),
224
  "title": x.get("title"),
225
+ "thumbnailUrl": x.get("thumbnailUrl"),
226
  "analysis": x.get("analysis", {})
227
  } for x in items
228
  ],
 
261
  "summary": (a.get("summary") or "")[:180],
262
  "brand": (a.get("brand") or "")[:80],
263
  "tags": a.get("tags") or [],
264
+ "thumbnailUrl": it.get("thumbnailUrl") or ""
265
  })
266
 
267
  prompt = (
 
305
  for iid in c.get("item_ids", []):
306
  itm = id_map.get(str(iid))
307
  if itm:
308
+ items.append({"id": itm.get("id"), "label": itm.get("label"), "title": itm.get("title"), "thumbnail_url": itm.get("thumbnailUrl"), "analysis": itm.get("analysis", {})})
309
  out.append({
310
  "id": c.get("id") or str(uuid.uuid4()),
311
  "items": items,
 
365
  "id": it.get("id"),
366
  "label": it.get("label"),
367
  "title": it.get("title"),
368
+ "thumbnailUrl": it.get("thumbnailUrl"),
369
  "analysis": it.get("analysis", {}),
370
  "confidence": it.get("confidence", 0.5),
371
  } for it in resolved
 
484
  for d in docs:
485
  dd = d.to_dict() or {}
486
  # accept both snake_case and camelCase thumbnail fields
487
+ thumb = dd.get("thumbnailUrl") # or dd.get("thumbnailUrl") or dd.get("thumbnail") or dd.get("thumbnailPath") or None
488
  items.append({
489
  "id": dd.get("id") or d.id,
490
  "label": dd.get("label") or dd.get("title") or "item",
491
  "title": dd.get("title") or dd.get("label") or "",
492
+ "thumbnailUrl": thumb,
493
  "analysis": dd.get("analysis", {}),
494
  "confidence": dd.get("confidence", 0.8),
495
  })
 
506
  items = []
507
  for d in docs:
508
  dd = d.to_dict() or {}
509
+ thumb = dd.get("thumbnailUrl") # or dd.get("thumbnailUrl") or dd.get("thumbnail") or dd.get("thumbnailPath") or None
510
  items.append({
511
  "id": dd.get("id") or d.id,
512
  "label": dd.get("label") or dd.get("title") or "item",
513
  "title": dd.get("title") or dd.get("label") or "",
514
+ "thumbnailUrl": thumb,
515
  "analysis": dd.get("analysis", {}),
516
  "confidence": dd.get("confidence", 0.8),
517
  })
 
673
  log.warning("Failed to produce final note for candidate %s: %s", cand.get("id"), e)
674
  note = cand.get("notes") or cand.get("reason") or "A curated outfit."
675
 
676
+ thumb_urls = [it.get("thumbnailUrl") # for it in cand.get("items", []) if it.get("thumbnail_url")]
677
 
678
  suggestion = {
679
  "id": cand.get("id") or str(uuid.uuid4()),