ArmanRV commited on
Commit
bca5c4e
·
verified ·
1 Parent(s): 2bb082b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -14
app.py CHANGED
@@ -406,14 +406,17 @@ def on_gallery_select(files_list: List[str], evt: gr.SelectData):
406
 
407
 
408
  # =========================
409
- # Feedback (like/dislike) -> SAVE TO SPACE REPO (no persistent storage)
410
  # =========================
411
  FEEDBACK_DIR = "./feedback"
412
  FEEDBACK_PATH = os.path.join(FEEDBACK_DIR, "feedback.jsonl")
 
 
 
 
413
  FEEDBACK_REPO_FILEPATH = "feedback/feedback.jsonl"
414
- SPACE_REPO_ID = (os.getenv("FEEDBACK_REPO_ID", "").strip() or os.getenv("SPACE_ID", "").strip())
415
 
416
- _FEEDBACK_UI_MSG = "Спасибо за отзыв! Мы продолжаем улучшать качество примерки."
417
 
418
 
419
  def _read_local_feedback_text() -> str:
@@ -430,12 +433,12 @@ def _write_local_feedback_text(text: str) -> None:
430
 
431
 
432
  def _download_repo_feedback(api: HfApi, token: str) -> str:
433
- if not SPACE_REPO_ID:
434
  return ""
435
  try:
436
  local_path = hf_hub_download(
437
- repo_id=SPACE_REPO_ID,
438
- repo_type="space",
439
  filename=FEEDBACK_REPO_FILEPATH,
440
  token=token,
441
  )
@@ -446,8 +449,8 @@ def _download_repo_feedback(api: HfApi, token: str) -> str:
446
 
447
 
448
  def _upload_repo_feedback(api: HfApi, token: str, text: str) -> None:
449
- if not SPACE_REPO_ID:
450
- raise RuntimeError("SPACE_ID (repo_id) not found")
451
  os.makedirs(FEEDBACK_DIR, exist_ok=True)
452
  tmp_path = os.path.join(FEEDBACK_DIR, "_feedback_upload.jsonl")
453
  with open(tmp_path, "w", encoding="utf-8") as f:
@@ -456,8 +459,8 @@ def _upload_repo_feedback(api: HfApi, token: str, text: str) -> None:
456
  api.upload_file(
457
  path_or_fileobj=tmp_path,
458
  path_in_repo=FEEDBACK_REPO_FILEPATH,
459
- repo_id=SPACE_REPO_ID,
460
- repo_type="space",
461
  token=token,
462
  commit_message="Add try-on feedback",
463
  )
@@ -472,7 +475,7 @@ def save_feedback(is_like: bool, garment_name: str):
472
  }
473
  line = json.dumps(record, ensure_ascii=False) + "\n"
474
 
475
- # 1) Локально (на всякий случай, внутри контейнера)
476
  try:
477
  local_text = _read_local_feedback_text()
478
  local_text += line
@@ -480,15 +483,15 @@ def save_feedback(is_like: bool, garment_name: str):
480
  except Exception as e:
481
  print("Feedback local write failed:", repr(e), flush=True)
482
 
483
- # 2) В репозиторий Space (чтобы не пропадало при рестарте)
484
  try:
485
  token = (os.getenv("HF_TOKEN", "").strip() or os.getenv("HUGGINGFACEHUB_API_TOKEN", "").strip())
486
  if not token:
487
  print("Feedback repo sync skipped: HF_TOKEN not set", flush=True)
488
  return _FEEDBACK_UI_MSG
489
 
490
- if not SPACE_REPO_ID:
491
- print("Feedback repo sync skipped: SPACE_ID not set", flush=True)
492
  return _FEEDBACK_UI_MSG
493
 
494
  api = HfApi()
 
406
 
407
 
408
  # =========================
409
+ # Feedback (like/dislike) -> SAVE TO DATASET REPO (NO SPACE REBUILD)
410
  # =========================
411
  FEEDBACK_DIR = "./feedback"
412
  FEEDBACK_PATH = os.path.join(FEEDBACK_DIR, "feedback.jsonl")
413
+
414
+ # теперь FEEDBACK_REPO_ID указывает на отдельный Dataset repo (например ArmanRV/idm-vton-feedback)
415
+ FEEDBACK_REPO_ID = os.getenv("FEEDBACK_REPO_ID", "").strip()
416
+ FEEDBACK_REPO_TYPE = "dataset"
417
  FEEDBACK_REPO_FILEPATH = "feedback/feedback.jsonl"
 
418
 
419
+ _FEEDBACK_UI_MSG = "Спасибо за отзыв, нейросеть еще учится"
420
 
421
 
422
  def _read_local_feedback_text() -> str:
 
433
 
434
 
435
  def _download_repo_feedback(api: HfApi, token: str) -> str:
436
+ if not FEEDBACK_REPO_ID:
437
  return ""
438
  try:
439
  local_path = hf_hub_download(
440
+ repo_id=FEEDBACK_REPO_ID,
441
+ repo_type=FEEDBACK_REPO_TYPE,
442
  filename=FEEDBACK_REPO_FILEPATH,
443
  token=token,
444
  )
 
449
 
450
 
451
  def _upload_repo_feedback(api: HfApi, token: str, text: str) -> None:
452
+ if not FEEDBACK_REPO_ID:
453
+ raise RuntimeError("FEEDBACK_REPO_ID not set")
454
  os.makedirs(FEEDBACK_DIR, exist_ok=True)
455
  tmp_path = os.path.join(FEEDBACK_DIR, "_feedback_upload.jsonl")
456
  with open(tmp_path, "w", encoding="utf-8") as f:
 
459
  api.upload_file(
460
  path_or_fileobj=tmp_path,
461
  path_in_repo=FEEDBACK_REPO_FILEPATH,
462
+ repo_id=FEEDBACK_REPO_ID,
463
+ repo_type=FEEDBACK_REPO_TYPE,
464
  token=token,
465
  commit_message="Add try-on feedback",
466
  )
 
475
  }
476
  line = json.dumps(record, ensure_ascii=False) + "\n"
477
 
478
+ # 1) локально (на всякий)
479
  try:
480
  local_text = _read_local_feedback_text()
481
  local_text += line
 
483
  except Exception as e:
484
  print("Feedback local write failed:", repr(e), flush=True)
485
 
486
+ # 2) в Dataset repo (НЕ вызывает rebuild Space)
487
  try:
488
  token = (os.getenv("HF_TOKEN", "").strip() or os.getenv("HUGGINGFACEHUB_API_TOKEN", "").strip())
489
  if not token:
490
  print("Feedback repo sync skipped: HF_TOKEN not set", flush=True)
491
  return _FEEDBACK_UI_MSG
492
 
493
+ if not FEEDBACK_REPO_ID:
494
+ print("Feedback repo sync skipped: FEEDBACK_REPO_ID not set", flush=True)
495
  return _FEEDBACK_UI_MSG
496
 
497
  api = HfApi()