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

2nd page error

Browse files
Files changed (1) hide show
  1. app.py +26 -25
app.py CHANGED
@@ -18,22 +18,28 @@ TOP_DIRS = [
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]
@@ -43,25 +49,19 @@ 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}",
@@ -77,6 +77,7 @@ def _candidate_relpaths(url_or_name: str):
77
  return uniq
78
 
79
 
 
80
  @lru_cache(maxsize=2048)
81
  def get_local_video_path(hf_url_or_relpath: str) -> str:
82
  # if already local, just ensure it's muted
 
18
  "Wan2.2",
19
  "wan21_videos",
20
  ]
 
21
  def _choose_prefix_from_filename(base: str) -> str:
22
  """
23
+ base ์˜ˆ:
24
+ 'wan21_videos_BodyWeightSquats_06_10c02b51.mp4'
25
+ 'Wan2.2_BodyWeightSquats_03_g09_c02.mp4'
26
+ 'Opensora_768_PushUps_03_124bba2d.mp4'
27
+
28
+ ๋ฆฌํฌ์˜ ์‹ค์ œ ์ƒ์œ„ ํด๋”๋ช…(TOP_DIRS) ์ค‘
29
+ ํŒŒ์ผ๋ช…์ด ๊ทธ ํด๋”๋ช…์œผ๋กœ ์‹œ์ž‘ํ•˜๋ฉด ๊ทธ๊ฑธ prefix๋กœ ์“ด๋‹ค.
30
+ ๊ฐ€์žฅ ๊ธด ๋งค์นญ์„ ์šฐ์„ ์œผ๋กœ ํ•œ๋‹ค.
31
  """
32
+ best = None
33
  for d in TOP_DIRS:
34
+ # ์ œ์ผ ํ”ํ•œ ํŒจํ„ด์€ "<dir>_" ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ฑฐ๋ผ์„œ ์ด๊ฑธ ๋จผ์ € ๋ณธ๋‹ค
35
+ if base.startswith(d + "_") or base.startswith(d + "/") or base.startswith(d + "-") or base.startswith(d):
36
+ if best is None or len(d) > len(best):
37
+ best = d
38
+
39
+ if best is not None:
40
+ return best
41
+
42
+ # fallback (๊ฑฐ์˜ ์•ˆ ํƒ€์•ผ ์ •์ƒ)
43
  if "_" in base:
44
  return base.split("_")[0]
45
  return os.path.splitext(base)[0]
 
49
  # ํŒŒ์ผ๋ช…๋งŒ ๋ฝ‘๊ณ  ๊ณต๋ฐฑ/๊ฐœํ–‰ ์ œ๊ฑฐ
50
  base = os.path.basename(url_or_name).strip()
51
 
 
52
  prefix = _choose_prefix_from_filename(base)
53
 
54
+ # ์˜ˆ:
55
+ # video_examples/Wan2.2/Wan2.2/Wan2.2_BodyWeightSquats_03_....mp4
56
+ # video_examples/Hunyuan_videos/Hunyuan_videos/Hunyuan_videos_....mp4
57
+ # video_examples/Opensora_768/Opensora_768/...mp4 ๋˜๋Š”
58
+ # video_examples/Opensora_768/...mp4 (๋‘˜ ๋‹ค ๊ฐ€๋Šฅ์„ฑ)
59
+ #
60
+ # ๊ทธ๋ž˜์„œ ์—ฌ๋Ÿฌ ํŒจํ„ด์„ ๋‹ค ์‹œ๋„ํ•ด๋ณธ๋‹ค.
 
 
 
 
61
  alt_prefix_videos = (
62
  prefix if prefix.endswith("_videos") else (prefix + "_videos")
63
  )
64
 
 
65
  candidates = [
66
  f"video_examples/{prefix}/{prefix}/{base}",
67
  f"video_examples/{prefix}/{alt_prefix_videos}/{base}",
 
77
  return uniq
78
 
79
 
80
+
81
  @lru_cache(maxsize=2048)
82
  def get_local_video_path(hf_url_or_relpath: str) -> str:
83
  # if already local, just ensure it's muted