import os from huggingface_hub import HfApi # 1) 환경변수/설정 HF_TOKEN = os.environ["HF_TOKEN"] # 반드시 Write 권한 토큰이어야 함 # whoami()["name"] 결과(또는 조직명)로 맞춰 쓰기 OWNER = os.getenv("HF_OWNER", "dghadiya") # 필요시: export HF_OWNER=your_name_or_org REPO_ID = f"{OWNER}/video_eval" # 업로드할 데이터셋 리포 # 2) 로컬 파일 경로 (네가 준 경로 그대로) WALLPUSHUPS_REAL = "/projectnb/ivc-ml/xthomas/SHARED/video_evals/ucf101_10classes/WallPushups/v_WallPushups_g01_c01.mp4" WALLPUSHUPS_BAD = "/projectnb/ivc-ml/xthomas/SHARED/video_evals/YOUTUBE_DATA/WallPushups__EE329FD74B.mp4" # 3) HF 내 저장 경로 (app.py에서 이 경로로 다운로드할 거임) WALLPUSHUPS_REAL_IN_REPO = "examples/WallPushUps_real.mp4" WALLPUSHUPS_BAD_IN_REPO = "examples/WallPushUps_bad.mp4" api = HfApi() # A) 데이터셋 리포 생성(이미 있으면 패스) api.create_repo( repo_id=REPO_ID, repo_type="dataset", private=True, exist_ok=True, token=HF_TOKEN, ) # B) 업로드 api.upload_file( path_or_fileobj=WALLPUSHUPS_REAL, path_in_repo=WALLPUSHUPS_REAL_IN_REPO, repo_id=REPO_ID, repo_type="dataset", token=HF_TOKEN, commit_message="add WallPushUps real/good example" ) api.upload_file( path_or_fileobj=WALLPUSHUPS_BAD, path_in_repo=WALLPUSHUPS_BAD_IN_REPO, repo_id=REPO_ID, repo_type="dataset", token=HF_TOKEN, commit_message="add WallPushUps generated/bad example" ) # C) 확인용 출력 (app.py에서 쓸 URL/파일명) print("✅ Uploaded to dataset:", REPO_ID) print(" -", WALLPUSHUPS_REAL_IN_REPO) print(" -", WALLPUSHUPS_BAD_IN_REPO) print("\nUse these in app.py hf_hub_download(filename=...):") print(" filename='examples/WallPushUps_real.mp4'") print(" filename='examples/WallPushUps_bad.mp4'") print("\nDirect URLs (repo public일 때만 브라우저 재생):") print(f" https://huggingface.co/datasets/{REPO_ID}/resolve/main/examples/WallPushUps_real.mp4") print(f" https://huggingface.co/datasets/{REPO_ID}/resolve/main/examples/WallPushUps_bad.mp4")