Youngsun Lim commited on
Commit
fcb4dbb
ยท
1 Parent(s): 7939802

2nd page error

Browse files
Files changed (1) hide show
  1. app.py +55 -11
app.py CHANGED
@@ -11,27 +11,71 @@ import secrets, time, string
11
  from functools import lru_cache
12
 
13
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
  def _candidate_relpaths(url_or_name: str):
15
- # --- sanitize filename ---
16
  base = os.path.basename(url_or_name).strip()
17
 
18
- # prefix = "Wan2.2", "Hunyuan_videos", "RunwayGen4", "wan21_videos", ...
19
- if "_" in base:
20
- prefix = base.split("_")[0]
21
- else:
22
- prefix = os.path.splitext(base)[0]
23
-
24
- # sometimes folders are <prefix>/<prefix>/..., sometimes <prefix>/...,
25
- # sometimes <prefix>/<prefix_videos>/...
26
- alt_prefix_videos = prefix if prefix.endswith("_videos") else (prefix + "_videos")
 
 
 
 
 
 
 
 
27
 
28
- return [
 
29
  f"video_examples/{prefix}/{prefix}/{base}",
30
  f"video_examples/{prefix}/{alt_prefix_videos}/{base}",
31
  f"video_examples/{prefix}/{base}",
32
  f"video_examples/{base}",
33
  ]
34
 
 
 
 
 
 
 
 
35
 
36
  @lru_cache(maxsize=2048)
37
  def get_local_video_path(hf_url_or_relpath: str) -> str:
 
11
  from functools import lru_cache
12
 
13
 
14
+ TOP_DIRS = [
15
+ "Hunyuan_videos",
16
+ "Opensora_768",
17
+ "RunwayGen4",
18
+ "Wan2.2",
19
+ "wan21_videos",
20
+ ]
21
+
22
+ def _choose_prefix_from_filename(base: str) -> str:
23
+ """
24
+ base = 'Opensora_768_PushUps_03_124bba2d.mp4' ๊ฐ™์€ ์‹ค์ œ ํŒŒ์ผ ์ด๋ฆ„.
25
+ ์œ„์—์„œ ์ •์˜ํ•œ top-level ๋””๋ ‰ํ† ๋ฆฌ ํ›„๋ณด๋“ค ์ค‘
26
+ base๊ฐ€ "<dir>_" ํ˜น์€ "<dir>-" ํ˜น์€ "<dir>." ๋กœ ์‹œ์ž‘ํ•˜๋ฉด ๊ทธ๊ฑธ prefix๋กœ ์ฑ„ํƒ.
27
+ (์‹ค์ œ๋กœ๋Š” '_' ํŒจํ„ด์ด๋ฉด ์ถฉ๋ถ„ํ•  ๊ฐ€๋Šฅ์„ฑ์ด ํผ)
28
+ """
29
+ for d in TOP_DIRS:
30
+ # ์ผ๋ฐ˜์ ์œผ๋กœ "<dir>_" ๋กœ ์‹œ์ž‘ํ•จ
31
+ if base.startswith(d + "_"):
32
+ return d
33
+ # ํ˜น์‹œ ๊ทธ๋ƒฅ ์ •ํ™•ํžˆ ๊ฐ™์€ ์ด๋ฆ„๋งŒ ์žˆ์„ ์ˆ˜๋„ ์žˆ์œผ๋‹ˆ๊นŒ(์•ˆ์ „์žฅ์น˜)
34
+ if base.startswith(d):
35
+ return d
36
+ # fallback: ์ด์ „ ๋‹จ์ˆœ ๋กœ์ง (ํ•œ ๋ฒˆ๋„ ๋ชป ๋งž์ท„์„ ๋•Œ ๋Œ€๋น„)
37
+ if "_" in base:
38
+ return base.split("_")[0]
39
+ return os.path.splitext(base)[0]
40
+
41
+
42
  def _candidate_relpaths(url_or_name: str):
43
+ # ํŒŒ์ผ๋ช…๋งŒ ๋ฝ‘๊ณ  ๊ณต๋ฐฑ/๊ฐœํ–‰ ์ œ๊ฑฐ
44
  base = os.path.basename(url_or_name).strip()
45
 
46
+ # prefix ๊ฒฐ์ •: ์‹ค์ œ repo ์ƒ์œ„ ํด๋” ์ด๋ฆ„๊ณผ ๋งž์ถฐ์ฃผ๊ธฐ
47
+ prefix = _choose_prefix_from_filename(base)
48
+
49
+ # ์ผ๋ถ€ ๋ชจ๋ธ(Hunyuan_videos, Wan2.2 ๋“ฑ)์€
50
+ # video_examples/<prefix>/<prefix>/<file.mp4>
51
+ # ์ด๋Ÿฐ ๊ตฌ์กฐ(2๋‹จ๊ณ„ ์ค‘์ฒฉ)
52
+ # Opensora_768๋„ ์‹ค์ œ๋กœ ๋ณด๋ฉด?
53
+ # video_examples/Opensora_768/Opensora_768/ํŒŒ์ผ.mp4 ์ธ์ง€
54
+ # video_examples/Opensora_768/ํŒŒ์ผ.mp4 ์ธ์ง€ ํ™•์ธ ํ•„์š”.
55
+ # ๋ฐฉ๊ธˆ Wan2.2 ์Šค์ƒท์€ 2๋‹จ๊ณ„ ์ค‘์ฒฉ (Wan2.2/Wan2.2/ํŒŒ์ผ).
56
+ # ๋„ˆ๊ฐ€ Opensora_768 ์ชฝ ์Šค์ƒท์€ ์•„์ง ์•ˆ๋ณด์—ฌ์คฌ์ง€๋งŒ,
57
+ # ์ง€๊ธˆ ์—๋Ÿฌ์—์„œ ์šฐ๋ฆฌ๋Š” <prefix>/<prefix>/<file>์€ ์‹œ๋„ ์•ˆ ํ•ด์„œ ์ฃฝ์€ ๊ฒŒ ์•„๋‹ˆ๊ณ 
58
+ # prefix ์ž์ฒด๊ฐ€ ํ‹€๋ ค์„œ ์ฃฝ์€๊ฑฐ๋ผ ๋‘˜ ๋‹ค ์‹œ๋„ํ•ด๋„ ์•ˆ์ „ํ•ด.
59
+
60
+ alt_prefix_videos = (
61
+ prefix if prefix.endswith("_videos") else (prefix + "_videos")
62
+ )
63
 
64
+ # ์ตœ์ข…์ ์œผ๋กœ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ํŒจํ„ด์„ ๋‹ค ์‹œ๋„
65
+ candidates = [
66
  f"video_examples/{prefix}/{prefix}/{base}",
67
  f"video_examples/{prefix}/{alt_prefix_videos}/{base}",
68
  f"video_examples/{prefix}/{base}",
69
  f"video_examples/{base}",
70
  ]
71
 
72
+ # ์ค‘๋ณต ์ œ๊ฑฐ
73
+ uniq = []
74
+ for c in candidates:
75
+ if c not in uniq:
76
+ uniq.append(c)
77
+ return uniq
78
+
79
 
80
  @lru_cache(maxsize=2048)
81
  def get_local_video_path(hf_url_or_relpath: str) -> str: